@uiw/icons
Version:
The premium icon font for uiw Component Library.
10 lines (9 loc) • 289 kB
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Spec Export - Sketch MeaXure</title>
<link rel="stylesheet" href="data:text/css;base64,ICAgIC8qISBub3JtYWxpemUuY3NzIHY0LjEuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9odG1se2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LW1zLXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJX1ib2R5e21hcmdpbjowfWFydGljbGUsYXNpZGUsZGV0YWlscyxmaWdjYXB0aW9uLGZpZ3VyZSxmb290ZXIsaGVhZGVyLG1haW4sbWVudSxuYXYsc2VjdGlvbixzdW1tYXJ5e2Rpc3BsYXk6YmxvY2t9YXVkaW8sY2FudmFzLHByb2dyZXNzLHZpZGVve2Rpc3BsYXk6aW5saW5lLWJsb2NrfWF1ZGlvOm5vdChbY29udHJvbHNdKXtkaXNwbGF5Om5vbmU7aGVpZ2h0OjB9cHJvZ3Jlc3N7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9dGVtcGxhdGUsW2hpZGRlbl17ZGlzcGxheTpub25lfWF7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOm9iamVjdHN9YTphY3RpdmUsYTpob3ZlcntvdXRsaW5lLXdpZHRoOjB9YWJiclt0aXRsZV17Ym9yZGVyLWJvdHRvbTowO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWR9YixzdHJvbmd7Zm9udC13ZWlnaHQ6aW5oZXJpdH1iLHN0cm9uZ3tmb250LXdlaWdodDpib2xkZXJ9ZGZue2ZvbnQtc3R5bGU6aXRhbGljfWgxe2ZvbnQtc2l6ZToyZW07bWFyZ2luOi42N2VtIDB9bWFya3tiYWNrZ3JvdW5kLWNvbG9yOiNmZjA7Y29sb3I6IzAwMH1zbWFsbHtmb250LXNpemU6ODAlfXN1YixzdXB7Zm9udC1zaXplOjc1JTtsaW5lLWhlaWdodDowO3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfXN1Yntib3R0b206LTAuMjVlbX1zdXB7dG9wOi0wLjVlbX1pbWd7Ym9yZGVyLXN0eWxlOm5vbmV9c3ZnOm5vdCg6cm9vdCl7b3ZlcmZsb3c6aGlkZGVufWNvZGUsa2JkLHByZSxzYW1we2ZvbnQtZmFtaWx5Om1vbm9zcGFjZSxtb25vc3BhY2U7Zm9udC1zaXplOjFlbX1maWd1cmV7bWFyZ2luOjFlbSA0MHB4fWhye2JveC1zaXppbmc6Y29udGVudC1ib3g7aGVpZ2h0OjA7b3ZlcmZsb3c6dmlzaWJsZX1idXR0b24saW5wdXQsc2VsZWN0LHRleHRhcmVhe2ZvbnQ6aW5oZXJpdDttYXJnaW46MH1vcHRncm91cHtmb250LXdlaWdodDpib2xkfWJ1dHRvbixpbnB1dHtvdmVyZmxvdzp2aXNpYmxlfWJ1dHRvbixzZWxlY3R7dGV4dC10cmFuc2Zvcm06bm9uZX1idXR0b24saHRtbCBbdHlwZT0iYnV0dG9uIl0sW3R5cGU9InJlc2V0Il0sW3R5cGU9InN1Ym1pdCJdey13ZWJraXQtYXBwZWFyYW5jZTpidXR0b259YnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFt0eXBlPSJidXR0b24iXTo6LW1vei1mb2N1cy1pbm5lcixbdHlwZT0icmVzZXQiXTo6LW1vei1mb2N1cy1pbm5lcixbdHlwZT0ic3VibWl0Il06Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyLXN0eWxlOm5vbmU7cGFkZGluZzowfWJ1dHRvbjotbW96LWZvY3VzcmluZyxbdHlwZT0iYnV0dG9uIl06LW1vei1mb2N1c3JpbmcsW3R5cGU9InJlc2V0Il06LW1vei1mb2N1c3JpbmcsW3R5cGU9InN1Ym1pdCJdOi1tb3otZm9jdXNyaW5ne291dGxpbmU6MXB4IGRvdHRlZCBCdXR0b25UZXh0fWZpZWxkc2V0e2JvcmRlcjoxcHggc29saWQgc2lsdmVyO21hcmdpbjowIDJweDtwYWRkaW5nOi4zNWVtIC42MjVlbSAuNzVlbX1sZWdlbmR7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOmluaGVyaXQ7ZGlzcGxheTp0YWJsZTttYXgtd2lkdGg6MTAwJTtwYWRkaW5nOjA7d2hpdGUtc3BhY2U6bm9ybWFsfXRleHRhcmVhe292ZXJmbG93OmF1dG99W3R5cGU9ImNoZWNrYm94Il0sW3R5cGU9InJhZGlvIl17Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6MH1bdHlwZT0ibnVtYmVyIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sW3R5cGU9Im51bWJlciJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9ue2hlaWdodDphdXRvfVt0eXBlPSJzZWFyY2giXXstd2Via2l0LWFwcGVhcmFuY2U6dGV4dGZpZWxkO291dGxpbmUtb2Zmc2V0Oi0ycHh9W3R5cGU9InNlYXJjaCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFt0eXBlPSJzZWFyY2giXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZX06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXJ7Y29sb3I6aW5oZXJpdDtvcGFjaXR5Oi41NH06Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uey13ZWJraXQtYXBwZWFyYW5jZTpidXR0b247Zm9udDppbmhlcml0fQoqIHsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KCjo6LXdlYmtpdC1zY3JvbGxiYXIgewogICAgd2lkdGg6IDhweDsKICAgIGhlaWdodDogOHB4OwogICAgYmFja2dyb3VuZDogIzIwMjEyMzsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKfQoKOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNik7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC42NCk7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7Cn0KCjo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVyLAo6Oi13ZWJraXQtcmVzaXplciB7CiAgICBiYWNrZ3JvdW5kOiAjMjAyMTIzOwp9CgpodG1sIHsKICAgIHdpZHRoOiAxMDB2dzsKICAgIGhlaWdodDogMTAwdmg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwp9Cgpib2R5IHsKICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICB3aWR0aDogMTAwdnc7CiAgICBoZWlnaHQ6IDEwMHZoOwogICAgbWluLXdpZHRoOiAxMDI0cHg7CiAgICBmb250LWZhbWlseTogSGVsdmV0aWNhTmV1ZSwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsKICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIGNvbG9yOiAjOTg5QTlDOwogICAgYmFja2dyb3VuZDogIzE5MTkxOTsKICAgIGxldHRlci1zcGFjaW5nOiAxcHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwp9CgpoZWFkZXIgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgaGVpZ2h0OiA2MHB4OwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICB6LWluZGV4OiAyMTU7CiAgICBiYWNrZ3JvdW5kOiAjMDAwOwp9CgpoZWFkZXIgLmhlYWRlci1jZW50ZXIsCmhlYWRlciAuaGVhZGVyLWxlZnQsCmhlYWRlciAuaGVhZGVyLXJpZ2h0IHsKICAgIHdpZHRoOiAyNDBweDsKICAgIGhlaWdodDogNjBweDsKICAgIGJhY2tncm91bmQ6ICMwRjBGMEY7Cn0KCmhlYWRlciAuaGVhZGVyLWNlbnRlciB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleDogMTsKICAgIGJhY2tncm91bmQ6ICMwMDA7Cn0KCmhlYWRlciAuaGVhZGVyLWNlbnRlciAuem9vbS13aWRnZXQgewogICAgcGFkZGluZzogMjBweDsKICAgIHdpZHRoOiAxNjBweDsKfQoKaGVhZGVyIC5oZWFkZXItY2VudGVyIGgxIHsKICAgIGZsZXg6IDE7Cn0KCmhlYWRlciAuaGVhZGVyLWNlbnRlciAuZmxvdy1tb2RlLApoZWFkZXIgLmhlYWRlci1jZW50ZXIgLnNob3ctbm90ZXMgewogICAgcGFkZGluZzogMjBweDsKICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgbGluZS1oZWlnaHQ6IDIwcHg7Cn0KCmhlYWRlciAuaGVhZGVyLWNlbnRlciAuZmxvdy1tb2RlIC5zbGlkZWJveCwKaGVhZGVyIC5oZWFkZXItY2VudGVyIC5zaG93LW5vdGVzIC5zbGlkZWJveCB7CiAgICBtYXJnaW4tbGVmdDogMTBweDsKfQoKaGVhZGVyIC5oZWFkZXItbGVmdCB7CiAgICBkaXNwbGF5OiBmbGV4Owp9Cgouem9vbS13aWRnZXQgewogICAgZGlzcGxheTogZmxleDsKfQoKLnpvb20td2lkZ2V0IGJ1dHRvbiB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHdpZHRoOiAyMHB4OwogICAgaGVpZ2h0OiAyMHB4OwogICAgYm9yZGVyLXJhZGl1czogMTBweDsKICAgIGJvcmRlcjogMDsKICAgIGJhY2tncm91bmQ6ICMzNDg0RjU7CiAgICBjdXJzb3I6IHBvaW50ZXI7Cn0KCi56b29tLXdpZGdldCBidXR0b246YWZ0ZXIsCi56b29tLXdpZGdldCBidXR0b246YmVmb3JlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogOXB4OwogICAgbGVmdDogNXB4OwogICAgY29udGVudDogIiI7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHdpZHRoOiAxMHB4OwogICAgaGVpZ2h0OiAycHg7CiAgICBiYWNrZ3JvdW5kOiAjRkZGOwp9Cgouem9vbS13aWRnZXQgYnV0dG9uOmFmdGVyIHsKICAgIHRvcDogNXB4OwogICAgbGVmdDogOXB4OwogICAgd2lkdGg6IDJweDsKICAgIGhlaWdodDogMTBweDsKfQoKLnpvb20td2lkZ2V0IGJ1dHRvbjpkaXNhYmxlZCB7CiAgICBiYWNrZ3JvdW5kOiAjMjIyOwogICAgY3Vyc29yOiBkZWZhdWx0Owp9Cgouem9vbS13aWRnZXQgYnV0dG9uOmRpc2FibGVkOmFmdGVyLAouem9vbS13aWRnZXQgYnV0dG9uOmRpc2FibGVkOmJlZm9yZSB7CiAgICBiYWNrZ3JvdW5kOiAjNjA2MjY0Owp9Cgouem9vbS13aWRnZXQgYnV0dG9uLnpvb20taW46YWZ0ZXIgewogICAgZGlzcGxheTogbm9uZTsKfQoKLnpvb20td2lkZ2V0IC56b29tLXRleHQgewogICAgZGlzcGxheTogYmxvY2s7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBsaW5lLWhlaWdodDogMjBweDsKICAgIGZsZXg6IDE7Cn0KCi51bml0LWJveCB7CiAgICBoZWlnaHQ6IDYwcHg7Cn0KCi51bml0LWJveCAub3ZlcmxheSB7CiAgICBjb250ZW50OiAiIjsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogNjBweDsKICAgIGxlZnQ6IDA7CiAgICB3aWR0aDogMTAwdnc7CiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA2MHB4KTsKICAgIGRpc3BsYXk6IG5vbmU7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC41Nik7CiAgICB6LWluZGV4OiAxOwp9CgoudW5pdC1ib3g6Zm9jdXMgLm92ZXJsYXkgewogICAgZGlzcGxheTogYmxvY2s7Cn0KCi51bml0LWJveDpmb2N1cyB7CiAgICBoZWlnaHQ6IGF1dG87CiAgICBvdXRsaW5lOiAwOwp9CgoudW5pdC1ib3ggaDMsCi51bml0LWJveCBwIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIG1hcmdpbjogMDsKICAgIHBhZGRpbmc6IDIwcHggMjBweCAyMHB4IDU0cHg7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGhlaWdodDogMTAwJTsKICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgZm9udC1zaXplOiAxMnB4OwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIGN1cnNvcjogcG9pbnRlcjsKfQoKLnVuaXQtYm94IGgzLAoudW5pdC1ib3g6Zm9jdXMgcCB7CiAgICBkaXNwbGF5OiBub25lOwp9CgoudW5pdC1ib3ggaDM6YmVmb3JlLAoudW5pdC1ib3ggcDpiZWZvcmUgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAxOHB4OwogICAgbGVmdDogMThweDsKICAgIGNvbnRlbnQ6ICIiOwogICAgZGlzcGxheTogYmxvY2s7CiAgICB3aWR0aDogMjRweDsKICAgIGhlaWdodDogMjRweDsKICAgIGJhY2tncm91bmQ6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQURBQUFBQXdBZ01BQUFBcWJCRVVBQUFBREZCTVZFVUFBQUJoWTJWZ1pHZGdZbVJ1YnhCQ0FBQUFBM1JTVGxNQTVFcFdiVnE0QUFBQUxVbEVRVlFvejJPZ091RDhEd1Rmb0J4MkVPY3ZsTVAvSHdTd2NzREVLSWVLSEVUd0V1WmdSQllpR3FrTkFGSlBOVDlTdzNkL0FBQUFBRWxGVGtTdVFtQ0MpIG5vLXJlcGVhdDsKICAgIGJhY2tncm91bmQtc2l6ZTogMjRweCAyNHB4Owp9CgoudW5pdC1ib3ggdWwgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbWFyZ2luOiAxcHggMCAwIDI0MHB4OwogICAgcGFkZGluZzogMDsKICAgIGxpc3Qtc3R5bGU6IG5vbmU7CiAgICBiYWNrZ3JvdW5kOiAjMEYwRjBGOwogICAgd2lkdGg6IDI0MHB4OwogICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNjFweCk7CiAgICBvdmVyZmxvdzogYXV0bzsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgdHJhbnNpdGlvbjogYWxsIC4xNXMgZWFzZTsKICAgIHotaW5kZXg6IDI7Cn0KCi51bml0LWJveDpmb2N1cyBoMyB7CiAgICBjb2xvcjogIzNBM0EzQTsKICAgIGRpc3BsYXk6IGJsb2NrOwp9CgoudW5pdC1ib3g6Zm9jdXMgdWwgewogICAgbWFyZ2luOiAxcHggMCAwOwp9CgoudW5pdC1ib3ggLnN1Yi10aXRsZSwKLnVuaXQtYm94IGxhYmVsIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBwYWRkaW5nOiAxNHB4IDIwcHg7Cn0KCi51bml0LWJveCBsYWJlbCB7CiAgICBjdXJzb3I6IHBvaW50ZXI7Cn0KCi51bml0LWJveCBsaTpob3ZlciBsYWJlbCB7CiAgICBjb2xvcjogI0ZGRjsKfQoKLnBhZ2UtbGlzdCBsYWJlbCBzcGFuLAoudW5pdC1ib3ggbGFiZWwgc3BhbiB7CiAgICBmbGV4OiAxOwp9CgoucGFnZS1saXN0IGlucHV0LAoudW5pdC1ib3ggaW5wdXQgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdmlzaWJpbGl0eTogaGlkZGVuOwp9CgoucGFnZS1saXN0IHNwYW46YmVmb3JlLAoudW5pdC1ib3ggc3BhbjpiZWZvcmUgewogICAgZmxvYXQ6IHJpZ2h0OwogICAgZGlzcGxheTogYmxvY2s7CiAgICBjb250ZW50OiAiIjsKICAgIHdpZHRoOiAxNnB4OwogICAgaGVpZ2h0OiAxNnB4Owp9CgoucGFnZS1saXN0IGlucHV0OmNoZWNrZWQrc3BhbjpiZWZvcmUsCi5wYWdlLWxpc3QgbGFiZWw6aG92ZXIgc3BhbjpiZWZvcmUsCi51bml0LWJveCBpbnB1dDpjaGVja2VkK3NwYW46YmVmb3JlLAoudW5pdC1ib3ggbGFiZWw6aG92ZXIgc3BhbjpiZWZvcmUgewogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBR1FBQUFESUNBTUFBQUFwNHJUekFBQUFhVkJNVkVVQUFBQ1ltNXlZbTUwMGhQYURvTUtZdWNzMGhmYVltNTJabnA2Ym5aMDFoZmVZbkoyWm01NDBodmM4aXY4MWhQV1ltNTJZbkoyWm5KMDFoL2cyaWZtY25KdzRoL28xaGZZMWhmVTFoZlkxaGZVMWhmWTBoZmFabko0MWhmWTJoL2FZbkp3MGhmVTBoUGJwayt3QUFBQUFJblJTVGxNQW81TG1DQVAwbkRJVmVIRk5TZzZkaUdWWk5DY2lHdHZTdzdhcmozeHBWa1NFVHZRT21RQUFBUGxKUkVGVWVOcnQxTXR1d2pBUWhlRnhZaE55SVVCQ3dxWGNPdS8va0hXTWw2d3FSbFdsLzF0WXM1b2p6WkVzQUg3clVaWWJNWFpYMVZKc2ZhdDVTTmhxdERJOWwvK3l5dWlicHMvVE9kMXFsTSs3cUI3blpaaFBLZU1nQmxaNTgrR28wV2tXQzYrdXg3SFU2TnlMaWR6MmFua3ZYb3lFcTJiYklIWWFUYTVpNnE1Ukk4WTJaZmtRQUFBQUFBQUFBQUFBQUFBQTRLMTFVYXpGMk5NNVY0aXR3Wm1IaEwyTEt0TnpoZFlxdzNlZHo5TXQzV3FTejJ1ZDI5WExVTzlTUmkwR3FyeTVMcHhMZVJaZVhVOVR5cmg1TVpIYnJwYTM5V0lrREM3YkI3SFR1V1FRVTA4WGRmTE9QL3NWQVFBQUFBQUFBQUFBQUFENFl6ODRoZzhxbEdUWmVRQUFBQUJKUlU1RXJrSmdnZz09KTsKICAgIGJhY2tncm91bmQtc2l6ZTogNTBweCAxMDBweDsKfQoKLnBhZ2UtbGlzdCBsYWJlbDpob3ZlciBzcGFuOmJlZm9yZSwKLnVuaXQtYm94IGxhYmVsOmhvdmVyIHNwYW46YmVmb3JlIHsKICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTUwcHg7Cn0KCi5wYWdlLWxpc3QgaW5wdXQ6Y2hlY2tlZCtzcGFuOmJlZm9yZSwKLnVuaXQtYm94IGlucHV0OmNoZWNrZWQrc3BhbjpiZWZvcmUgewogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOwp9CgoudW5pdC1ib3ggLnN1Yi10aXRsZSB7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBiYWNrZ3JvdW5kOiAjMDAwOwogICAgY29sb3I6ICMzQTNBM0E7Cn0KCm1haW4gewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNjBweCk7Cn0KCi5pbnNwZWN0b3IsCi5uYXZiYXIgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAwOwogICAgYm90dG9tOiAwOwogICAgZGlzcGxheTogZmxleDsKICAgIHdpZHRoOiAyNDBweDsKICAgIGJhY2tncm91bmQ6ICMyMzI1Mjc7CiAgICB6LWluZGV4OiA1Owp9CgouaW5zcGVjdG9yIHsKICAgIHRyYW5zaXRpb246IGFsbCAuMTVzIGVhc2U7CiAgICByaWdodDogLTI0MHB4OwogICAgZGlzcGxheTogYmxvY2s7Cn0KCi5pbnNwZWN0b3IuYWN0aXZlIHsKICAgIHJpZ2h0OiAwOwp9CgoubmF2YmFyIHsKICAgIGxlZnQ6IC0yNDBweDsKICAgIHdpZHRoOiAyNDBweDsKICAgIHRyYW5zaXRpb246IGFsbCAuMTVzIGVhc2U7Cn0KCi5uYXZiYXIub24gewogICAgbGVmdDogMDsKfQoKLm5hdmJhciBuYXYgewogICAgd2lkdGg6IDQwcHg7CiAgICBiYWNrZ3JvdW5kOiAjMDAwMjA0Owp9CgoubmF2YmFyIHNlY3Rpb24gewogICAgZmxleDogMTsKfQoKLnRhYiB7CiAgICBtYXJnaW46IDA7CiAgICBwYWRkaW5nOiAwOwogICAgZGlzcGxheTogZmxleDsKICAgIHdpZHRoOiAxMDAlOwogICAgbGlzdC1zdHlsZTogbm9uZTsKfQoKLnRhYiBsaSB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleDogMTsKICAgIGhlaWdodDogNjBweDsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKfQoKLnRhYiBsaS5jdXJyZW50IHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMyMzI1Mjc7Cn0KCi50YWIgbGk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICIiOwogICAgd2lkdGg6IDQwcHg7CiAgICBoZWlnaHQ6IDQwcHg7CiAgICBiYWNrZ3JvdW5kOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFNZ0FBQUVzQ0FNQUFBQ3hKQXlNQUFBQVkxQk1WRVVBQUFCZlltVFkyTmpZMk5oZ1lHUGEydHBkWUdOZllHSFoyZGxnWUdSZlgyTFkyTmhmWUdQWjJkbGRYMlBiMjl2VjFkWFIwZEZkWVdOZ1lHUGIyOXZVMU5SZFhWMWFZV1ZkWFdOWVdHSmJZR0xYMTlmWDE5ZmEydHJYMTlmWTJOaGdZbVR1ZlhsaUFBQUFIM1JTVGxNQTgvTGpacS9tcnpISG5wM1Z5SUpxUlF2N1ZWUWJDMGNzR2pyU1g0bDY1RjBQOVFBQUF2RkpSRUZVZU5ydDNObHU0a0FVUmRIckNUTVlNOFpBR0tyKy95dWJTa2RjUkp5M09sSTZ2ZGNiajF2SVBsRWtyZ0VBQUFBQUFBQ0FVbmp5NVhNbThjbnJaMElJSVlRUVFuNVh5RE5KeUF0Q0NQblhRbjdOdzA0SUlZNkhueEJDekhqWUNTR0VFRUlJK1pFaEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRDhIT0VibGxIOEJpSGpJVFlpZDRpTklJUVFRZ2pKRStLbWk4VmFFK0tPOC9sQkhUSXRRMWlJUTk2TEdPZmlrTGQ3UjJpMEljZDdSMnkxSVc5VnVMdElRMDZUZUZkTFF6Ykw0RitJS0dTWVJmOUNWQ0ZONmxodXBDRnQ2cGdOMHBCRjZxamVUQmt5VHgyVGt5bERicW1qbkVwM3BFOGR4Vkc2STVlUXJLV0RXS2VPN1VFNmlPdVFyS1RMZnRqNkMwc1ZNaTFUeDlWRUlUNGdzVGRWaUEvSTBsUWhQaUF6VTRac3p1SERSUmd5ZFBGRHJRbnhBVkUvSTdNWXM1ZUVUejRnRC92Yy8zendBWG5ZcVVLdTN0R1lLS1QzanRaRVZ0NnhNSkhhTytZbXNuNWtsQmNUOEFGSml0b0VmRUNTYW1vaTcwWDgxQjFOd0Fja3VabUFEMGhTOU9aRUhjMmJxWnk2K0ZkN01wbGxTTXJGMURSOFFJcjUwWFNhVk5Hc05pYlVwb3EySGt6b2VtNXVVOVBxdTdaL053QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEvak8zbThuMXZjbXRRbGlaV0IxamJXS1hzVnNQK1R2a0pYdS9rQ0N6MjZhUTdjNkUxdUhUMm1RT3FlUDFRbzJnUTEzaXY4b3YzazNFcnd2NDlTTkZoNjdFTzlRbFIrOTR1ZU9VKzdxQTg4dGF1YThrdU1uSjhsdUdGMHZMYmhaZnpDeTdWWGdoR01ZNnZsRE1TUlcrcUN5elNmeGlZaTdmRWpySkx1N2lpTnk3dUFoT2RYSm5IcDNzNU00NWpEaGJWbDBjMFZsZVpSaFJXbFpGSEZGWVhtR1VaYldOSTdhV1Z4V0MvTFUxaVZINjJ2STUxRTJpejZGNkVxOWh4Tld5NnVPSTN2SmFCNmY2Vy80UVJ4d3NzN1BzN2VzNjNkdlg3V1hEN25iQ1lYY0wyYTY3dVhyWC9kNnlXMjRzdTJFbWZHVjVTUk9lTkJzVEdOcjRwQjFNWTFVOXBuQmxJdlhrTVlXMXlXejJUVldXVmJQZm1NeXdhN3VpNk5yZFlBQUFBQUFBQUFBQUFBQUFBQUR3NUE5NlhEYVdlSHFwK3dBQUFBQkpSVTVFcmtKZ2dnPT0pIG5vLXJlcGVhdCAtNTBweCAwOwogICAgYmFja2dyb3VuZC1zaXplOiAxMDBweCAxNTBweDsKICAgIG92ZXJmbG93OiBoaWRkZW47Cn0KCi50YWIgbGkuY3VycmVudDpiZWZvcmUgewogICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiAwOwp9CgoudGFiIGxpLmljb24tc2xpY2VzOmJlZm9yZSB7CiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IC01MHB4Owp9CgoudGFiIGxpLmljb24tY29sb3JzOmJlZm9yZSB7CiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IC0xMDBweDsKfQoKI2luc3BlY3RvciAuY29kZS1pdGVtIHsKICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKfQoKI2luc3BlY3RvciAuY29kZS1pdGVtIHRleHRhcmVhIHsKICAgIHBhZGRpbmc6IDE2cHg7Cn0KCiNpbnNwZWN0b3IgLmNvZGUtaXRlbS5zZWxlY3QgewogICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsKfQoKI2luc3BlY3RvciAudGFiIGxpIHsKICAgIGhlaWdodDogNDBweDsKfQoKI2luc3BlY3RvciAudGFiIGxpOmJlZm9yZSB7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFNZ0FBQUVzQ0FNQUFBQ3hKQXlNQUFBQW4xQk1WRVVBQUFCZ1ltVFoyZG5mMzkvYjI5dGtaV1puYUdoZ1ltUmdZMlRaMmRscGFXL1oyZG5aMmRuYTJ0cm41K2RnWW1SZ1ltUmdZbVhCd2NIWTJOaGhZMlhaMmRsaFkyVmtaR2hrWldoZ1ltWFoyZGxnWW1SaFltVmhaR1haMmRuWjJkbmIyOXRpWkdaaFltWGEydHJiMjl2WjJkbGdZbVZnWTJUYTJ0cmIyOXRoWkdiYjI5dloyZGxnWW1UWjJkbmEydHJhMnRwaFkyWGUzdDdZMk5oZ1ltUmwreHcvQUFBQU0zUlNUbE1BOFBJZUx6QWdlOWZXRE9lSGZBejE2T0VHN1lmZWJDa1p1cm5Cc1Z2R3NUYzNqbkJUcDZmTFhVVkZKNzZaajVwb1VSVmFXN1Q1QUFBRkhrbEVRVlI0QWUzZHlWTHp5aElFNEpSczBDQVBzanpQTm1BYk1IUFYrei9iL1lXSSt4dHc2eXhPTlJHSHlHL1Z3UzVEbGJTMG9NQXZRMFJFUkVSRVJFUkU5Q0IxTWxpWWE1MGNKa0twczRhRlFPc3NZS0VodGRvd2NLbTFJbGk0a1ZvM01QQ3F0VjVob1NXMUdqQXcwRm9UV0pqOVFOZW5QOUgxaHNPTGxHYXdNTGs4YjJUWWRkU1BYQXMrRGJRMGdGZXorcTRianR3cnZNcnN1dTZVYStrU0Z0YWhnNVQ2c0xBSUhMUVV3RVFtZFdhd2tHdWRxZjk3M2FqckU2MDErQzMzK2hJVzJqOXdyMGZxWnRkMXFSUEN3a0xyQkRCeGJKNTNMYVVIV0JoZm5EZlMwaHhldFkzdmRmZklYY0dydFpSdTRkUENzT3RPUXlrZDRWTlBTMk5ZYUNXbFczejFadGoxUVZ4YTRxdUpaZGNUS1czdzFaMlVWckFRYTJtTHIrNE51MTdJdTQ2ajYwOHdVT2k3MUd2WE4vTHVlWU5QbXEzTXJ1dGJmZmU0eFNmalFXN1k5UmY1a0Z5Ly9VMlJ5SWNtREl6MFF6eWEvRTBSYThXbzY4L3kxKzd1SkVVRkZoNzEvN3I3K3pKRkZKLzh5SzdyZncyZkV6bTFnb1dEbnVvOXhucnFBQk03cVRHOGhZVzkxb2lYc1BGMm5UaFN0Sm93TW9saVBhczN1SUNoelhQNFBjVUdwcmFQM2U4cHRyRFdlVmw1VEZGSlI0ZlRGRmRiK05GODZrc3BlOXJBbC9GVjREZEZwYmlaZVV4UktaYlRmNWVDaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlxQlcyNE5zZ0dNQTdFWUZ2cXZwYmd4VCtnelNUck9rN3lFV2NYL2dPMHV5THREMEh1UWhVSTY5QnFoejloczhnVlk3ZzBrZVE5bXdZaHNtNjNhaHlOSDEwSkpyMnVrRzhpQ1pWamd1WWt4TXpQem1nSjZhZWNyVGtsSjhjQXozbEpVZG5MVitzT2pDV0x2U0xRL29UVzBCbkJXek45WnRwQVZ0dE9lTUpwaUk5NHdxbU5sSnFkOXJ5NmRDRW9hMldvalRTVDRjTEQzdUNPdWpJcDhPRC9aNmdGS2wrT3N4aHFDSG5uNGcwWUdhaTU1K0lYdnB0U09YYWEwTXFrZWxrT2N3c0o4dGhDanVKT0NRd2MxQ0hHSFpDY1FoaEpsQ0hBUFJiWFlmaUZGN0R4S2lyVHQyUmZVTzh0YVNyTmJxd0liVmdRbXY5d2lmQ2psVEVDV2FNQm90QnpEQUlnekFJZzlqSnhDR0RtVndkY3RqWmljTU9admJxc0llZFJsL082amRnWmhMb1djRUVoaHE3VEw3SmRnMFltdXh6L1NiZlQwQkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUlBUZlVkek9NbmhXTEtjNVBMc2JpdlRoMTMzUC81YUVXL2xqQmErVzFYSVhyKzZrZEEyZjdyVVV3YWNpa3ovNkhYaFU5UFNQSUlWUEwxSzZnVThqTFMzaDFZUDgwWVpYVTcrRFZlbDdMVWdscVBZSytCVU9uNDd3TE9nOWp1Rkg4MmsyVEhZM0haUTI3VlVXRHRjdkhaZ2FYMDNqdzM2Wm9yU041bmszWG94U1dEbyt5SWYxN1YxcktCWGJxb3puV3VrdWx2ZURubjdvUnJCekU0ckRRd0VqcjRFNnpGUFRHOUJoWjNrRE91eTkvc2x4WmJpQmlVbXVUcjB0YkR5TFU5S0JqVWQxaWxQWTZJVGlFaDVoSXczVUpSakR5SXM0dFdCa3BFNERXTm1KMHhGRzl1bzBocFdWdUdTd01sZVhIR1l5Y1ZuQlNrOWREakFqUHhCRWZ5Skk5Z09qbGF0TEQyWVNjV3JBU0t4T2w3QXlFNmMyakV6VktZS1ZsamlGYi9hN3NQM3RSYmtUdDFYaC81WFI3T1cza0Jxck4xaEl0Y1o4NHJja2xlekZaMGtxK1FnbWJxVE9BeXk4YXAwNWJBeWx4cTNYdTcyeWhJMXJjVXY4di85cURDTkZJazUzc0ZIRTZuUVAvNytCWjdCeXJ5NVQySG4yL1lsWTg3WGJIY05Pa2Zoc2VpV04vVGE5MHNqOC8zT0Z5MXpQdUlLdFl5THZrdWRXYXkyVkZteU5ZMzBYUDBaWGk2NTlqa3FubFlTcjlyRTYzK3lHMlhvRGEra2dEZzdSdURxLzd1UGVZZ3NpSWlJaUlpSWlJaUlpSWlJaUlpS2lmL1kvamxGR2VjS0FVbk1BQUFBQVNVVk9SSzVDWUlJPSk7Cn0KCiNpbnNwZWN0b3IgLnRhYiBsaS5zZWxlY3QgewogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMDUpOwp9CgojaW5zcGVjdG9yIC50YWIgbGkuc2VsZWN0OmJlZm9yZSB7CiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IDA7Cn0KCiNpbnNwZWN0b3IgLnRhYiBsaS5pY29uLWFuZHJvaWQtcGFuZWw6YmVmb3JlIHsKICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogLTUwcHg7Cn0KCiNpbnNwZWN0b3IgLnRhYiBsaS5pY29uLWlvcy1wYW5lbDpiZWZvcmUgewogICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAtMTAwcHg7Cn0KCi5zY3JlZW4tdmlld2VyIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHdpZHRoOiAxMDB2dzsKICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDYwcHgpOwogICAgYmFja2dyb3VuZDogIzE5MTkxOSB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFnQVFNQUFBQkp0T2kzQUFBQUJsQk1WRVVBQUFBQUFBQ2xaN25QQUFBQUFuUlNUbE1BVXZQMi9lQUFBQUFSU1VSQlZBalhZNkFTWUQ2QVRsQUhBQUR5NWdNTjBmQ3FGd0FBQUFCSlJVNUVya0pnZ2c9PSk7CiAgICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTZweDsKICAgIG92ZXJmbG93OiBhdXRvOwp9Cgouc2NyZWVuLXZpZXdlciAub3ZlcmxheSB7CiAgICBkaXNwbGF5OiBub25lOwogICAgcG9zaXRpb246IGZpeGVkOwogICAgd2lkdGg6IDEwMHZ3OwogICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNjBweCk7CiAgICB0b3A6IDYwcHg7CiAgICBsZWZ0OiAwOwogICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgei1pbmRleDogMjsKICAgIGN1cnNvcjogbm9uZTsKfQoKLnNjcmVlbi12aWV3ZXIubW92aW5nLXNjcmVlbiAub3ZlcmxheSB7CiAgICBkaXNwbGF5OiBibG9jazsKfQoKLnNjcmVlbi12aWV3ZXItaW5uZXIgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgbWFyZ2luOiAwIGF1dG87Cn0KCi5zY3JlZW4gewogICAgbWFyZ2luOiAwIGF1dG87CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiA1MCU7CiAgICB0b3A6IDUwJTsKICAgIGJhY2tncm91bmQ6ICNGRkY7CiAgICBib3gtc2hhZG93OiAwIDJweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAuMik7Cn0KCi5zY3JlZW4uZmxvdyB7CiAgICBsZWZ0OiAwOwogICAgdG9wOiAwOwp9CgojZmxvd3MgewogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7Cn0KCiNmbG93cyAuZmxvdyB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGJhY2tncm91bmQtY29sb3I6ICNGNUE2MjM7CiAgICBvcGFjaXR5OiAwOwogICAgY3Vyc29yOiBwb2ludGVyOwp9CgojZmxvd3Muc2hvdy1mbG93cyAuZmxvdyB7CiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7CiAgICBhbmltYXRpb24tbmFtZTogZmxvd1RpcDsKfQoKQGtleWZyYW1lcyBmbG93VGlwIHsKICAgIDAlIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgfQoKICAgIDUwJSB7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgfQoKICAgIDEwMCUgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICB9Cn0KCi5sYXllciB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBjdXJzb3I6IHBvaW50ZXI7Cn0KCi5ob3ZlciwKLnNlbGVjdGVkIHsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNFRTY3MjM7Cn0KCi5oYXMtc2xpY2UgewogICAgYm9yZGVyOiAxcHggZGFzaGVkICNFRTY3MjM7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgODUsIDAsIC4zMik7Cn0KCi5sYXllciBiLAoubGF5ZXIgaSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogNXB4OwogICAgaGVpZ2h0OiA1cHg7CiAgICBiYWNrZ3JvdW5kOiAjRkZGOwogICAgYm9yZGVyOiAxcHggc29saWQgI0VFNjcyMzsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBkaXNwbGF5OiBub25lOwp9CgoubGF5ZXIgYiB7CiAgICB3aWR0aDogM3B4OwogICAgaGVpZ2h0OiAzcHg7CiAgICBiYWNrZ3JvdW5kOiAjRUU2NzIzOwp9Cgouc2VsZWN0ZWQgaSB7CiAgICBkaXNwbGF5OiBibG9jazsKfQoKLmRpc3RhbmNlLmggZGl2W2RhdGEtd2lkdGhdOmJlZm9yZSwKLmRpc3RhbmNlLnYgZGl2W2RhdGEtaGVpZ2h0XTpiZWZvcmUsCi5zZWxlY3RlZDphZnRlciwKLnNlbGVjdGVkOmJlZm9yZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGxlZnQ6IDUwJTsKICAgIHRvcDogLTIzcHg7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7CiAgICBjb250ZW50OiBhdHRyKGRhdGEtd2lkdGgpOwogICAgZm9udC1zaXplOiAxMnB4OwogICAgY29sb3I6ICNGRkY7CiAgICBoZWlnaHQ6IDEycHg7CiAgICBsaW5lLWhlaWdodDogMTJweDsKICAgIHBhZGRpbmc6IDRweDsKICAgIGJhY2tncm91bmQ6ICNFRTY3MjM7CiAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICB6LWluZGV4OiAxOwp9CgoucGVyY2VudGFnZS1tb2RlIC5kaXN0YW5jZS5oIGRpdltkYXRhLXdpZHRoXTpiZWZvcmUsCi5wZXJjZW50YWdlLW1vZGUgLmRpc3RhbmNlLnYgZGl2W2RhdGEtaGVpZ2h0XTpiZWZvcmUsCi5wZXJjZW50YWdlLW1vZGUgLnNlbGVjdGVkOmFmdGVyLAoucGVyY2VudGFnZS1tb2RlIC5zZWxlY3RlZDpiZWZvcmUgewogICAgY29udGVudDogYXR0cihwZXJjZW50YWdlLXdpZHRoKTsKfQoKLnNlbGVjdGVkLmhpZGRlbjphZnRlciwKLnNlbGVjdGVkLmhpZGRlbjpiZWZvcmUgewogICAgZGlzcGxheTogbm9uZTsKfQoKLmRpc3RhbmNlLnYgZGl2W2RhdGEtaGVpZ2h0XTpiZWZvcmUsCi5zZWxlY3RlZDphZnRlciB7CiAgICBjb250ZW50OiBhdHRyKGRhdGEtaGVpZ2h0KTsKICAgIGxlZnQ6IGF1dG87CiAgICByaWdodDogMDsKICAgIHRvcDogNTAlOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMTAwJSArIDNweCkpIHRyYW5zbGF0ZVkoLTUwJSk7Cn0KCi5wZXJjZW50YWdlLW1vZGUgLmRpc3RhbmNlLnYgZGl2W2RhdGEtaGVpZ2h0XTpiZWZvcmUsCi5wZXJjZW50YWdlLW1vZGUgLnNlbGVjdGVkOmFmdGVyIHsKICAgIGNvbnRlbnQ6IGF0dHIocGVyY2VudGFnZS1oZWlnaHQpOwp9CgoubGF5ZXIgLnRsIHsKICAgIHRvcDogLTNweDsKICAgIGxlZnQ6IC0zcHg7Cn0KCi5sYXllciAudHIgewogICAgdG9wOiAtM3B4OwogICAgcmlnaHQ6IC0zcHg7Cn0KCi5sYXllciAuYmwgewogICAgYm90dG9tOiAtM3B4OwogICAgbGVmdDogLTNweDsKfQoKLmxheWVyIC5iciB7CiAgICBib3R0b206IC0zcHg7CiAgICByaWdodDogLTNweDsKfQoKLmhvdmVyIHsKICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MTliZjk7Cn0KCi5zZWxlY3RlZCB7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjRUU2NzIzOwp9CgoucnVsZXIgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBib3JkZXI6IDFweCBkYXNoZWQgIzQxOWJmOTsKfQoKLnJ1bGVyLmggewogICAgYm9yZGVyLWxlZnQ6IDA7CiAgICBib3JkZXItcmlnaHQ6IDA7Cn0KCi5ydWxlci52IHsKICAgIGJvcmRlci10b3A6IDA7CiAgICBib3JkZXItYm90dG9tOiAwOwp9CgouZGlzdGFuY2UsCi5kaXN0YW5jZSBkaXYsCi5kaXN0YW5jZSBkaXY6YmVmb3JlLAouZGlzdGFuY2U6YWZ0ZXIsCi5kaXN0YW5jZTpiZWZvcmUgewogICAgcG9zaXRpb246IGFic29sdXRlOwp9CgouZGlzdGFuY2UudiwKLmRpc3RhbmNlLnYgZGl2IHsKICAgIHdpZHRoOiAxcHg7Cn0KCi5kaXN0YW5jZS5oLAouZGlzdGFuY2UuaCBkaXYgewogICAgaGVpZ2h0OiAxcHg7Cn0KCi5kaXN0YW5jZS52IGRpdiB7CiAgICB0b3A6IDA7CiAgICBib3R0b206IDA7CiAgICBiYWNrZ3JvdW5kOiAjRUU2NzIzOwp9CgouZGlzdGFuY2UuaCBkaXYgewogICAgbGVmdDogMDsKICAgIHJpZ2h0OiAwOwogICAgYmFja2dyb3VuZDogI0VFNjcyMzsKfQoKLmRpc3RhbmNlLnY6YWZ0ZXIsCi5kaXN0YW5jZS52OmJlZm9yZSB7CiAgICBjb250ZW50OiAiIjsKICAgIHRvcDogMDsKICAgIGxlZnQ6IC0ycHg7CiAgICB3aWR0aDogNXB4OwogICAgaGVpZ2h0OiAxcHg7CiAgICBiYWNrZ3JvdW5kOiAjRUU2NzIzOwp9CgouZGlzdGFuY2UuaDphZnRlciwKLmRpc3RhbmNlLmg6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICIiOwogICAgdG9wOiAtMnB4OwogICAgbGVmdDogMDsKICAgIHdpZHRoOiAxcHg7CiAgICBoZWlnaHQ6IDVweDsKICAgIGJhY2tncm91bmQ6ICNFRTY3MjM7Cn0KCi5kaXN0YW5jZS52OmFmdGVyIHsKICAgIHRvcDogYXV0bzsKICAgIGJvdHRvbTogMDsKfQoKLmRpc3RhbmNlLmg6YWZ0ZXIgewogICAgbGVmdDogYXV0bzsKICAgIHJpZ2h0OiAwOwp9Cgoubm90ZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBtYXJnaW46IC0xMnB4IDAgMCAtMTJweDsKICAgIHdpZHRoOiAyNHB4OwogICAgaGVpZ2h0OiAyNHB4OwogICAgYmFja2dyb3VuZDogI0Y1QTYyMzsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJvcmRlcjogMnB4IHNvbGlkICNGRkY7CiAgICBib3gtc2hhZG93OiAwIDAgM3B4IHJnYmEoMCwgMCwgMCwgLjI0KTsKfQoKLm5vdGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1pbmRleCk7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGNvbG9yOiAjRkZGOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBsaW5lLWhlaWdodDogMjBweDsKfQoKLm5vdGU6aG92ZXIgewogICAgYm94LXNoYWRvdzogMCAwIDNweCByZ2JhKDAsIDAsIDAsIC42NCk7Cn0KCi5ub3RlIGRpdiB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDUwJTsKICAgIGxlZnQ6IDMwcHg7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBwYWRkaW5nOiA4cHg7CiAgICBiYWNrZ3JvdW5kOiAjRkZGOwogICAgYm94LXNoYWRvdzogMCAwIDNweCByZ2JhKDAsIDAsIDAsIC41KTsKICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IHRleHQ7CiAgICBjb2xvcjogIzIyMjsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgIHotaW5kZXg6IDI7Cn0KCi5ub3RlIGRpdjpiZWZvcmUgewogICAgY29udGVudDogIiI7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiAtN3B4OwogICAgdG9wOiA1MCU7CiAgICB3aWR0aDogOHB4OwogICAgaGVpZ2h0OiAxNHB4OwogICAgYmFja2dyb3VuZDogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBY0NBTUFBQUJmNzg4b0FBQUFObEJNVkVVQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEUjBkRUFBQUFBQUFBQUFBQUFBQUFBQUFETnpjMEFBQUFBQUFEYTJ0cms1T1QvLy8vNWF1RkZBQUFBRVhSU1RsTUFBZ1lLRWh5ZE5Da1lEaU9mTGllV2p6NE1VajRBQUFCclNVUkJWQmpUWlpGYkRvQWdFQU5WRkhtSU92ZS9yRVJqV0dqL3BzbkNianYxZ2c3bkdUcGNGbXRVZEE0TXU3UW1NTHpHR01Id2x2TU5oczl5QVkzRDdxa2FtY1lIci83NXlzMUlNUmVQTmJid3NSbzZvby9xdDdyWTZPaHhlcjRHcEJGcXlGcURGdFdxZkFENGRRcmxXRG1TaEFBQUFBQkpSVTVFcmtKZ2dnPT0pIG5vLXJlcGVhdDsKICAgIGJhY2tncm91bmQtc2l6ZTogOHB4IDE0cHg7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7Cn0KCi5zbGlkZWJveCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB3aWR0aDogNDBweDsKICAgIGhlaWdodDogMjBweDsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQoKLnNsaWRlYm94IGlucHV0IHsKICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKfQoKLnNsaWRlYm94IGxhYmVsIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMDsKICAgIGxlZnQ6IDA7CiAgICB3aWR0aDogNDBweDsKICAgIGhlaWdodDogMjBweDsKICAgIGJhY2tncm91bmQ6ICM4OTg5ODk7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAzcHggMCByZ2JhKDAsIDAsIDAsIC4zKTsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2U7Cn0KCi5zbGlkZWJveCBsYWJlbDphZnRlciB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBjb250ZW50OiAiIjsKICAgIHRvcDogMnB4OwogICAgbGVmdDogMnB4OwogICAgd2lkdGg6IDE2cHg7CiAgICBoZWlnaHQ6IDE2cHg7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTE4MGRlZywgI0Y4RjlGNiAwLCAjRjVGNUY1IDEwMCUpOwogICAgYm94LXNoYWRvdzogMCAxcHggMnB4IDAgcmdiYSgwLCAwLCAwLCAuMyk7CiAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjE1cyBlYXNlOwp9Cgouc2xpZGVib3ggaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbCB7CiAgICBiYWNrZ3JvdW5kOiAjMzQ4NEY1Owp9Cgouc2xpZGVib3ggaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbDphZnRlciB7CiAgICBsZWZ0OiAyMnB4Owp9CgouaW5zcGVjdG9yIHsKICAgIG92ZXJmbG93OiBhdXRvOwp9CgouaW5zcGVjdG9yIGgyLAouaW5zcGVjdG9yIGgzIHsKICAgIG1hcmdpbjogMDsKICAgIHBhZGRpbmc6IDA7CiAgICBmb250LXdlaWdodDogNDAwOwp9CgouaW5zcGVjdG9yIGgyIHsKICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIGxpbmUtaGVpZ2h0OiAyNHB4OwogICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwp9CgouaW5zcGVjdG9yIGgzIHsKICAgIGhlaWdodDogMzJweDsKICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIGxpbmUtaGVpZ2h0OiAzMnB4OwogICAgcGFkZGluZzogMCAxNnB4OwogICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDAsIDQsIDksIC4zMikgMCwgcmdiYSgwLCAyLCA0LCAwKSAxMDAlKTsKfQoKLmluc3BlY3RvciAuY29udGV4dCB7CiAgICBwYWRkaW5nOiAxNnB4Owp9CgouaW5zcGVjdG9yIC5jb2xvciwKLmluc3BlY3RvciAuaXRlbSB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgbWFyZ2luOiAwIDAgOHB4Owp9CgouaW5zcGVjdG9yIC5pdGVtW2RhdGEtbGFiZWxdOmJlZm9yZSB7CiAgICBjb250ZW50OiBhdHRyKGRhdGEtbGFiZWwpOwogICAgZGlzcGxheTogYmxvY2s7CiAgICB3aWR0aDogNzBweDsKICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIGhlaWdodDogMjRweDsKICAgIGxpbmUtaGVpZ2h0OiAyNHB4Owp9CgouaW5zcGVjdG9yIC5jb2xvcjpsYXN0LWNoaWxkLAouaW5zcGVjdG9yIC5pdGVtOmxhc3QtY2hpbGQgewogICAgbWFyZ2luOiAwOwp9CgouaW5zcGVjdG9yIC5pdGVtIGRpdiwKLmluc3BlY3RvciAuaXRlbSBsYWJlbCB7CiAgICBmbGV4OiAxOwp9CgouaW5zcGVjdG9yIC5pdGVtIGxhYmVsIHsKICAgIHBhZGRpbmc6IDAgNHB4Owp9CgouaW5zcGVjdG9yIC5pdGVtIGxhYmVsOmZpcnN0LWNoaWxkIHsKICAgIHBhZGRpbmc6IDAgNHB4IDAgMDsKfQoKLmluc3BlY3RvciAuaXRlbSBsYWJlbDpsYXN0LWNoaWxkIHsKICAgIHBhZGRpbmc6IDAgMCAwIDRweDsKfQoKLmluc3BlY3RvciAuaXRlbSBsYWJlbDpvbmx5LWNoaWxkIHsKICAgIHBhZGRpbmc6IDA7Cn0KCi5pbnNwZWN0b3IgLml0ZW0gbGFiZWxbZGF0YS1sYWJlbF06YWZ0ZXIgewogICAgY29udGVudDogYXR0cihkYXRhLWxhYmVsKTsKICAgIGZvbnQtc2l6ZTogMTBweDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgbWFyZ2luOiAycHggMCAwOwp9CgouaW5zcGVjdG9yIGlucHV0LAouaW5zcGVjdG9yIHRleHRhcmVhIHsKICAgIHBhZGRpbmc6IDNweCA0cHg7CiAgICB3aWR0aDogMTAwJTsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjA1KTsKICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgIGJvcmRlcjogMDsKICAgIGxpbmUtaGVpZ2h0OiAxOHB4OwogICAgaGVpZ2h0OiAyNHB4OwogICAgZm9udC1zaXplOiAxMnB4OwogICAgY29sb3I6ICNGRkY7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBvdXRsaW5lOiAwOwogICAgcmVzaXplOiBub25lOwp9CgouaW5zcGVjdG9yIHRleHRhcmVhIHsKICAgIG1pbi13aWR0aDogMTAwJTsKICAgIGhlaWdodDogYXV0bzsKICAgIHRleHQtYWxpZ246IGxlZnQ7Cn0KCi5jb250ZXh0IGg0IHsKICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICBwb3NpdGlvbjogMDsKICAgIG1hcmdpbjogMCAwIDE2cHg7CiAgICBjb2xvcjogI0ZGRjsKfQoKLmNvbnRleHQgaDQ6YmVmb3JlIHsKICAgIG1hcmdpbjogMCAxMHB4IDAgMDsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIGNvbnRlbnQ6ICIiOwogICAgd2lkdGg6IDhweDsKICAgIGhlaWdodDogOHB4OwogICAgYm9yZGVyLXJhZGl1czogMXB4OwogICAgYmFja2dyb3VuZDogIzM0ODRGNTsKfQoKLmNvbnRleHQgLmNvbG9ycyB7CiAgICBtYXJnaW46IDAgMCA4cHg7Cn0KCi5jb250ZXh0IC5jb2xvcnM6bGFzdC1jaGlsZCwKLmNvbnRleHQgLml0ZW1zLWdyb3VwOmxhc3QtY2hpbGQgewogICAgbWFyZ2luOiAwOwp9CgouY29udGV4dCAuaXRlbXMtZ3JvdXAgewogICAgbWFyZ2luOiAwIDAgMjRweDsKfQoKLmluc3BlY3RvciAuY29sb3IgewogICAgZGlzcGxheTogYmxvY2s7Cn0KCi5pbnNwZWN0b3IgLmNvbG9yW2RhdGEtbmFtZV06YWZ0ZXIgewogICAgY29udGVudDogYXR0cihkYXRhLW5hbWUpOwogICAgZm9udC1zaXplOiAxMHB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgcGFkZGluZzogMCAwIDAgMjRweDsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgbWFyZ2luOiAycHggMCAwOwp9CgouaW5zcGVjdG9yIC5jb2xvciBsYWJlbCwKLmluc3BlY3RvciAuY29sb3IgbGFiZWwgZW0sCi5pbnNwZWN0b3IgLmNvbG9yIGxhYmVsIGVtIGkgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgZGlzcGxheTogYmxvY2s7CiAgICB3aWR0aDogMjRweDsKICAgIGhlaWdodDogMjRweDsKICAgIHBhZGRpbmc6IDA7Cn0KCi5pbnNwZWN0b3IgLmNvbG9yIGxhYmVsIGVtIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsICNkZGRhZGMgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDc1JSwgI2RkZGFkYyA3NSUsICNkZGRhZGMpLCBsaW5lYXItZ3JhZGllbnQoNDVkZWcsICNkZGRhZGMgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDc1JSwgI2RkZGFkYyA3NSUsICNkZGRhZGMpOwogICAgYmFja2dyb3VuZC1zaXplOiAxMnB4IDEycHg7CiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDAsIDZweCA2cHg7CiAgICBib3JkZXItcmFkaXVzOiAycHggMCAwIDJweDsKICAgIG92ZXJmbG93OiBoaWRkZW47Cn0KCi5pbnNwZWN0b3IgLmNvbG9yIGxhYmVsIGVtIGkgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwp9CgouaW5zcGVjdG9yIC5pdGVtIC5jb2xvciBpbnB1dCB7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi5pbnNwZWN0b3IgLmNvbG9yIGlucHV0IHsKICAgIHBhZGRpbmctbGVmdDogMzJweDsKICAgIHdpZHRoOiAxMDAlOwogICAgdGV4dC1hbGlnbjogbGVmdDsKfQoKLmdyYWRpZW50IC5jb2xvciBsYWJlbDpiZWZvcmUgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAxMnB4OwogICAgbGVmdDogMTFweDsKICAgIGNvbnRlbnQ6ICIiOwogICAgd2lkdGg6IDJweDsKICAgIGhlaWdodDogMzJweDsKICAgIGJhY2tncm91bmQ6ICNGRkY7CiAgICB6LWluZGV4OiAyOwogICAgYm94LXNoYWRvdzogMCAwIDJweCAxcHggcmdiYSgwLCAwLCAwLCAuMik7Cn0KCi5ncmFkaWVudCAuY29sb3IgbGFiZWw6YWZ0ZXIgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiA4cHg7CiAgICBsZWZ0OiA4cHg7CiAgICBjb250ZW50OiAiIjsKICAgIHdpZHRoOiA4cHg7CiAgICBoZWlnaHQ6IDhweDsKICAgIGJhY2tncm91bmQ6ICNGRkY7CiAgICB6LWluZGV4OiAzOwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgYm94LXNoYWRvdzogMCAwIDJweCAxcHggcmdiYSgwLCAwLCAwLCAuMik7Cn0KCi5ncmFkaWVudCAuY29sb3JbZGF0YS1uYW1lXSBsYWJlbDpiZWZvcmUgewogICAgaGVpZ2h0OiA0MnB4Owp9CgouZ3JhZGllbnQgLmNvbG9yOmxhc3QtY2hpbGQgbGFiZWw6YmVmb3JlIHsKICAgIGRpc3BsYXk6IG5vbmU7Cn0KCi5uYXZiYXIgc2VjdGlvbiB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBvdmVyZmxvdzogYXV0bzsKfQoKLmFydGJvYXJkLWxpc3QsCi5hc3NldC1saXN0LAouY29sb3ItbGlzdCB7CiAgICBtYXJnaW46IDA7CiAgICBwYWRkaW5nOiAwOwogICAgbGlzdC1zdHlsZTogbm9uZTsKfQoKLmFydGJvYXJkLWxpc3QgbGkgewogICAgcGFkZGluZzogMTZweDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBjdXJzb3I6IHBvaW50ZXI7Cn0KCi5hcnRib2FyZC1saXN0IGxpOmhvdmVyLAouYXNzZXQtbGlzdCBsaTpob3ZlciwKLmNvbG9yLWxpc3QgbGk6aG92ZXIgewogICAgYmFja2dyb3VuZDogIzE5MUExRTsKfQoKLmFydGJvYXJkLWxpc3QgbGkuYWN0aXZlIHsKICAgIGJhY2tncm91bmQ6ICM0NTQ3NDg7Cn0KCi5hcnRib2FyZC1saXN0Lm5vLXByZXZpZXcgLnByZXZpZXctaW1nIHsKICAgIGRpc3BsYXk6IG5vbmU7Cn0KCi5wcmV2aWV3LWltZyB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHdpZHRoOiA0NHB4OwogICAgaGVpZ2h0OiA0NHB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuMzIpOwp9CgoucHJldmlldy1pbWc6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICcgJzsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICBoZWlnaHQ6IDEwMCU7Cn0KCi5wcmV2aWV3LWltZyBpbWcgewogICAgbWF4LXdpZHRoOiA0NHB4OwogICAgbWF4LWhlaWdodDogNDRweDsKICAgIGJhY2tncm91bmQ6ICNGRkY7CiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwp9CgoucGFnZXMtc2VsZWN0LAouZmxvdy1zdGFydHMgLnRpdGxlIHsKICAgIHBhZGRpbmc6IDI0cHg7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KCi5wYWdlcy1zZWxlY3QgaDMsCi5mbG93LXN0YXJ0cyAudGl0bGUgaDMgewogICAgbWFyZ2luOiAwOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgZm9udC1zaXplOiAxMnB4OwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIGNvbG9yOiAjRkZGOwp9CgoucGFnZXMtc2VsZWN0IGgzIHsKICAgIGN1cnNvcjogcG9pbnRlcjsKfQoKLnBhZ2UtbGlzdCBlbSwKLnBhZ2VzLXNlbGVjdCBoMyBlbSwKLmZsb3ctc3RhcnRzIC50aXRsZSBoMyBlbSB7CiAgICBmb250LXN0eWxlOiBub3JtYWw7CiAgICBmb250LXNpemU6IDEwcHg7CiAgICBjb2xvcjogIzk4OUE5QzsKfQoKLnBhZ2VzLXNlbGVjdCBoMzphZnRlciB7CiAgICBjb250ZW50OiAiIjsKICAgIG1hcmdpbjogMCAwIDAgNHB4OwogICAgd2lkdGg6IDEycHg7CiAgICBoZWlnaHQ6IDZweDsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIGJhY2tncm91bmQ6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJnQUFBQU1BZ01BQUFBRlhwWG1BQUFBQ1ZCTVZFVUFBQUJpWkdaZ1ltVGhZMW1IQUFBQUFuUlNUbE1BZ0pzclRoZ0FBQUExU1VSQlZBalhGY2t4QVFBZ0RNVEFaNmtJMUtBSE5Zam9BaXBKc21TNDdFYzMwM1hLblF5M0FrSVJtNVVVVUFJaEVSSWhFZm9xbVJmcGNxY0ZjQUFBQUFCSlJVNUVya0pnZ2c9PSkgbm8tcmVwZWF0OwogICAgYmFja2dyb3VuZC1zaXplOiAxMnB4IDZweDsKfQoKLnBhZ2VzLXNlbGVjdCAucGFnZS1saXN0IHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiA1MCU7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7CiAgICBtYXJnaW46IC0zMnB4IDAgMDsKICAgIHBhZGRpbmc6IDhweDsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIGxpc3Qtc3R5bGU6IG5vbmU7CiAgICB3aWR0aDogMTgwcHg7CiAgICBiYWNrZ3JvdW5kOiAjMEYwRjBGOwogICAgYm94LXNoYWRvdzogMCAycHggMTBweCAwIHJnYmEoMCwgMCwgMCwgLjgpOwp9CgoucGFnZXMtc2VsZWN0OmZvY3VzIHsKICAgIG91dGxpbmU6IDA7Cn0KCi5wYWdlcy1zZWxlY3Q6Zm9jdXMgLnBhZ2UtbGlzdCB7CiAgICBkaXNwbGF5OiBibG9jazsKfQoKLnBhZ2VzLXNlbGVjdCAucGFnZS1saXN0IGxhYmVsIHsKICAgIHBhZGRpbmc6IDEwcHg7CiAgICBjdXJzb3I6IHBvaW50ZXI7Cn0KCi5wYWdlcy1zZWxlY3QgLnBhZ2UtbGlzdCBsYWJlbCwKLnBhZ2VzLXNlbGVjdCAucGFnZS1saXN0IHNwYW4gewogICAgZGlzcGxheTogYmxvY2s7Cn0KCi5wYWdlLWxpc3Qgc3BhbjpiZWZvcmUgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgcmlnaHQ6IDhweDsKfQoKLmV4cG9ydGFibGUgewogICAgbWFyZ2luOiAwOwogICAgcGFkZGluZzogMDsKICAgIGxpc3Qtc3R5bGU6IG5vbmU7CiAgICBiYWNrZ3JvdW5kOiAjMTkxQTFFOwogICAgYm9yZGVyOiAxcHggc29saWQgIzJEMkYzMTsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKfQoKLmV4cG9ydGFibGUgbGkgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgcGFkZGluZzogMCA4cHg7CiAgICBoZWlnaHQ6IDMycHg7CiAgICBsaW5lLWhlaWdodDogMzJweDsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMjIyOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwp9CgouZXhwb3J0YWJsZSBsaSBhIHsKICAgIGNvbG9yOiAjRkZGOwogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgb3V0bGluZTogMDsKfQoKLmV4cG9ydGFibGUgbGk6bGFzdC1jaGlsZCB7CiAgICBib3JkZXI6IDA7Cn0KCi5leHBvcnRhYmxlIGltZyB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDA7CiAgICBsZWZ0OiAwOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBvcGFjaXR5OiAwOwp9CgouYXNzZXQtbGlzdCBsaSwKLmNvbG9yLWxpc3QgbGkgewogICAgcGFkZGluZzogMjRweDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBjdXJzb3I6IHBvaW50ZXI7Cn0KCi5jb2xvci1saXN0IGxpIHsKICAgIGN1cnNvcjogZGVmYXVsdDsKfQoKLmFzc2V0LWxpc3QgbGkgcGljdHVyZSwKLmNvbG9yLWxpc3QgbGkgZW0gewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgZGlzcGxheTogYmxvY2s7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICB3aWR0aDogMzJweDsKICAgIGhlaWdodDogMzJweDsKICAgIGJhY2tncm91bmQtY29sb3I6ICM0QTRBNEE7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsICMwMDAgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDc1JSwgIzAwMCA3NSUsICMwMDApLCBsaW5lYXItZ3JhZGllbnQoNDVkZWcsICMwMDAgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDc1JSwgIzAwMCA3NSUsICMwMDApOwogICAgYmFja2dyb3VuZC1zaXplOiA4cHggOHB4OwogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwLCA0cHggNHB4OwogICAgYm9yZGVyLXJhZGl1czogMnB4Owp9CgouY29sb3ItbGlzdCBsaSBlbSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAjZGRkYWRjIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA3NSUsICNkZGRhZGMgNzUlLCAjZGRkYWRjKSwgbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAjZGRkYWRjIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA3NSUsICNkZGRhZGMgNzUlLCAjZGRkYWRjKTsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIG92ZXJmbG93OiBoaWRkZW47Cn0KCi5jb2xvci1saXN0IGxpIGVtIGkgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAwOwogICAgbGVmdDogMDsKICAgIHJpZ2h0OiAwOwogICAgYm90dG9tOiAwOwp9CgouYXJ0Ym9hcmQtbGlzdCBsaSBkaXYsCi5hc3NldC1saXN0IGxpIGRpdiwKLmNvbG9yLWxpc3QgbGkgZGl2IHsKICAgIHBhZGRpbmc6IDAgMCAwIDE2cHg7CiAgICBmbGV4OiAxOwp9CgouYXJ0Ym9hcmQtbGlzdCBsaSBkaXYgewogICAgcGFkZGluZzogNnB4IDAgNHB4IDE2cHg7Cn0KCi5hc3NldC1saXN0IGxpIHBpY3R1cmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICIiOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgaGVpZ2h0OiAxMDAlOwogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKfQoKLmFzc2V0LWxpc3QgbGkgcGljdHVyZSBpbWcgewogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgIG1heC13aWR0aDogMjhweDsKICAgIG1heC1oZWlnaHQ6IDI4cHg7Cn0KCi5hc3NldC1saXN0IGxpIHBpY3R1cmU6YWZ0ZXIgewogICAgY29udGVudDogIiI7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDA7CiAgICBsZWZ0OiAwOwogICAgcmlnaHQ6IDA7CiAgICBib3R0b206IDA7Cn0KCi5hcnRib2FyZC1saXN0IGgzLAouYXNzZXQtbGlzdCBoMywKLmNvbG9yLWxpc3QgaDMgewogICAgbWFyZ2luOiAwIDAgNHB4OwogICAgcGFkZGluZzogMDsKICAgIGNvbG9yOiAjRkZGOwogICAgZm9udC1zaXplOiAxMnB4OwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKfQoKLmFydGJvYXJkLWxpc3Qgc21hbGwsCi5hc3NldC1saXN0IHNtYWxsLAouY29sb3ItbGlzdCBzbWFsbCB7CiAgICBmb250LXNpemU6IDEwcHg7Cn0KCi5hcnRib2FyZC1saXN0IGxpLmFjdGl2ZSBzbWFsbCB7CiAgICBjb2xvcjogI0ZGRjsKfQoKLmVtcHR5IHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMzAlOwogICAgbGVmdDogMDsKICAgIHJpZ2h0OiAwOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKfQoKLm1lc3NhZ2UgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiA1MCU7CiAgICBsZWZ0OiA1MCU7CiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7CiAgICBtYXgtd2lkdGg6IDMyMHB4OwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC45Nik7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNik7CiAgICBjb2xvcjogI0ZGRjsKICAgIGJveC1zaGFkb3c6IDAgMnB4IDEwcHggcmdiYSgwLCAwLCAwLCAuMzIpOwogICAgei1pbmRleDogOTsKICAgIGRpc3BsYXk6IG5vbmU7Cn0KCi5jdXJzb3IgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbWFyZ2luOiAtOHB4IDAgMCAtOHB4OwogICAgdG9wOiA1MCU7CiAgICBsZWZ0OiA1MCU7CiAgICB3aWR0aDogMTZweDsKICAgIGhlaWdodDogMTdweDsKICAgIGJhY2tncm91bmQtc2l6ZTogMTZweCAxN3B4OwogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQWlDQU1BQUFBSmJDdk5BQUFCVmxCTVZFVUFBQUFHQmdZQkFRRUJBUUVBQUFBQUFBQUFBQUFuSnljQUFBQTNOemNEQXdNTkRRMEFBQUFBQUFBQUFBQWhJU0ViR3hzWUdCZ1BEdzhDQWdJREF3TUJBUUVBQUFBQUFBQUFBQUFBQUFBQUFBQXZMeThVRkJRQ0FnSUJBUUVBQUFBQUFBQUFBQUFBQUFBQUFBQStQajVCUVVFL1B6OHpNek1DQWdJREF3TURBd01DQWdJQkFRRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE3T3pzQUFBQUFBQUFBQUFBQUFBRC8vLzhBQUFCaFlXRWRIUjM2K3ZwVlZWWDkvZjMyOXZiejgvUGIyOXVCZ1lGMGRIUmpZMk1zTEN6MzkvZnQ3ZTNyNit2UjBkRnhjWEZTVWxKTlRVM1gxOWZLeXNxNHVMaDNkM2RYVjFkSlNVbEdSa1pFUkVUdjcrL282T2pqNCtPOHZMeTF0YlcwdExTbnA2ZW1wcWFUazVPS2lvcUdob1p0YlcxbloyZGNYRnhQVDAvRHc4UEN3c0t3c0xDdXJxNnBxYW1ob2FHWm1abU5qWTE2ZW5wZVhsNUpuRzd4QUFBQVBIUlNUbE1BL2ZqOUIxRUMvamYrL3Z3OEV3NysvZno4NXQyNm1wUm9ZeVg5L09MTW9IbEtNaUwrL2YzOThlblkwY0MxdExHb2pvdUdWaDRaL3FweVF5N1VHL3ZMQUFBQ0hVbEVRVlE0VDMzUVZWZGJVUkJBNGJrM1Fqd1FJSWE3dTlUMlFEd1F4eDJLMStYL3YvUWhselJwV04ydjUxdG5abzFJUzRFUng0YjhKNGVwYWh0KzVjSHBpS3pHUmZ6bXhINTVSMGZ0c2VFUlp3dUlxR0dZNnhMVExLU05vVGxWN1cwV1k3WjhxalJoZmxneEFEclVPTWpjYXJRSmpHZ1ppcUhlY0JmQXVCNENmYjFOd0tjSHdKME9kZ0tjNmpXdzFTMHk1ckxYZ2QxOEFJcUdkdFZCR2RqcHRpK3I5c1RyWXFrckJTUzFIK0JFejRHam5vam12bnV0UVE3OUFueFRMOEN4Rm9Da3FYblltYWtENThBa2tQRVlBRFVQUUZWREdhak9XbXNPYXhib1U0RG5FRUJOODBEZmdvajRvZzcvcHUwUWVOUTA4TnhaMzJRUEVwNDFjUzZycXZsdXFUOEZYNE1KSVBjRWtIUURuOVFoNjVyUDdsZTFXL2RwS1ZFQWNyYUFySHBUUUU3MW52Wk81MFRXakF4QVJVOWVBYUd3aUV0dkFSSlRuUUNwTktUUElGRUV1TkNvaUN3WW53R0tXWUNLRzdiR29iSUxjSzArRWZIUGV2Y2FmejRGb2JvTFc5c0E5eG9RRWRtWTZTaThnTjlCU0RaQXJhZCt4dmY2NndWc2JUZUJNeU5pSFhySXM5Y01PaXh3cDZNVzhFOVBXbUJuRzQ0c2NPRmRsSmRpK3RNQ1hRMlFjRS9IRzhENVZqOENrTytBeHltbzdIS29Edm1iZmQ1ekE1QW9RZVljQ3FXc0xTek5CZVp0UDJndVovTzNBTEV2V2xNb3Zla3NRN0pIL3NrNTZLNkRtamtRVEhNOCtDK1FvZjZyZzh2THF3ZU51bXpITis3dU5oRFdlaXNpTVZOMW9BM1lSMTB1bjgrMUtTSVNpSS9aMjhEci9RSFBhNkVtOERmd2ZBQUFBQUJKUlU1RXJrSmdnZz09Jyk7CiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogICAgY3Vyc29yOiBub25lOwogICAgei1pbmRleDogMTsKfQoKLmN1cnNvci5zaG93IHsKICAgIGRpc3BsYXk6IGJsb2NrOwp9CgouY3Vyc29yLm1vdmluZyB7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBaUNBTUFBQUFKYkN2TkFBQUJNbEJNVkVVQUFBQUFBQUEyTmpZc0xDd0NBZ0lBQUFBQUFBQU1EQXdCQVFFQ0FnSUJBUUVDQWdJQkFRRUJBUUVBQUFBQUFBQUFBQUE1T1RrZ0lDQUlDQWdBQUFBY0hCd0NBZ0lBQUFBQUFBQUFBQUFBQUFBQUFBQkRRME04UER3eE1URTBORFFWRlJVQ0FnSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUER3OERBd01BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFELy8vOEFBQUJoWVdFY0hCejYrdnIzOS9kTVRFenM3T3k4dkx5NHVMaFdWbFlxS2lvb0tDajA5UFR3OFBDMXRiV25wNmQyZG5aWldWbjgvUHpwNmVuajQrUGQzZDNhMnRyTnpjMnRyYTJwcWFtbXBxYUtpb3FBZ0lCemMzTndjSEJtWm1aZFhWMVRVMU5IUjBjK1BqN1cxdGJSMGRIR3hzYkF3TUNhbXBxU2twS1BqNCtHaG9aeWNuSnNiR3drSkNUeTkxd2lBQUFBTm5SU1RsTUFQUDcrL1pjTi9QbnI0ODdLdjdRbEV2NysvZno3MWprMkdBY0UvdjcrL2Z6enBhQ1VrR1paUVRFc0lBbjgyNnVFZzNKdFhGR3J5T3hJQUFBQmtFbEVRVlI0QWVYUzFYTGJRQmpGOFJYSURIYk5kaUJwT0NuRE9hNGtnMk93dzl3MktVUGYveFc2czhxMnNUWFQ2WDErdDk5L05Kb3pLKzZsUjhabVJQekRacHhjM3NnOXkyU2V6M2FObCttVXN4MjNUanB6eGJKdG1uYXFNUjA4Wk84bUd1Tm40SkE4QVU3NVlpWGw1SVNXNVNYd2dUd0FVR0lmY0F1TTN0aHBvUm5zQUpobkM4RGNZMGdXajNIQm1nNXFQQWR3MW5NQmZKOUFhaTRBUTFhRmxsekVOTmNEMmpTRXN1T2tFdnlJRUIxazQ0WHJFaWNJNmJDaWd0WG9JYnpGTjVEMlBNQWJBRzRMMGltM1ZWRDJBUXlPSUYzbGdlWTg4TU9DOUpYQkVFa2YycnNId0h0TFJ1cDc0OWp0aWt2VFFVOEhmbGtvci9oSkIwMFpkSFV3S0t3S0pSTFA3MEZSaCs3dWJYRE9MUkhZNEdVNHdFRTBJN1ExZm9QeVZoNG1RZUNheTFueHgxT2VxV0M4SzZNRjRNckNtSy9GWC9XMFBRS0NnZnI3Z0xkL1pEdmlya2lhWDNEWFJURTM4MXd6SEVGcDVVdkhRUGVKbU5GSW1sRDhXT0pYSDM1U3pGcFpHbmJhN2VGUHJsZUsxeU16RVFvY0J0YUVXSStSNGFDK1ZhMFlScldtL2ptN1V4Zi81emVFeFd2WmdobFRTZ0FBQUFCSlJVNUVya0pnZ2c9PScpOwp9">
<script src="data:text/javascript;base64,IWZ1bmN0aW9uKGUpe3ZhciB0PXt9O2Z1bmN0aW9uIG8oaSl7aWYodFtpXSlyZXR1cm4gdFtpXS5leHBvcnRzO3ZhciBhPXRbaV09e2k6aSxsOiExLGV4cG9ydHM6e319O3JldHVybiBlW2ldLmNhbGwoYS5leHBvcnRzLGEsYS5leHBvcnRzLG8pLGEubD0hMCxhLmV4cG9ydHN9by5tPWUsby5jPXQsby5kPWZ1bmN0aW9uKGUsdCxpKXtvLm8oZSx0KXx8T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCx7ZW51bWVyYWJsZTohMCxnZXQ6aX0pfSxvLnI9ZnVuY3Rpb24oZSl7InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJlN5bWJvbC50b1N0cmluZ1RhZyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsU3ltYm9sLnRvU3RyaW5nVGFnLHt2YWx1ZToiTW9kdWxlIn0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KX0sby50PWZ1bmN0aW9uKGUsdCl7aWYoMSZ0JiYoZT1vKGUpKSw4JnQpcmV0dXJuIGU7aWYoNCZ0JiYib2JqZWN0Ij09dHlwZW9mIGUmJmUmJmUuX19lc01vZHVsZSlyZXR1cm4gZTt2YXIgaT1PYmplY3QuY3JlYXRlKG51bGwpO2lmKG8ucihpKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoaSwiZGVmYXVsdCIse2VudW1lcmFibGU6ITAsdmFsdWU6ZX0pLDImdCYmInN0cmluZyIhPXR5cGVvZiBlKWZvcih2YXIgYSBpbiBlKW8uZChpLGEsZnVuY3Rpb24odCl7cmV0dXJuIGVbdF19LmJpbmQobnVsbCxhKSk7cmV0dXJuIGl9LG8ubj1mdW5jdGlvbihlKXt2YXIgdD1lJiZlLl9fZXNNb2R1bGU/ZnVuY3Rpb24oKXtyZXR1cm4gZS5kZWZhdWx0fTpmdW5jdGlvbigpe3JldHVybiBlfTtyZXR1cm4gby5kKHQsImEiLHQpLHR9LG8ubz1mdW5jdGlvbihlLHQpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSx0KX0sby5wPSIiLG8oby5zPTIwKX0oW2Z1bmN0aW9uKGUsdCxvKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuc3RhdGU9e3pvb206MSx1bml0OiJweCIsc2NhbGU6MSxhcnRib2FyZEluZGV4OnZvaWQgMCxjb2xvckZvcm1hdDoiY29sb3ItaGV4IixjdXJyZW50OnZvaWQgMCxjb2RlVHlwZToiY3NzIn0sdC5JMThOPXt9LHQubGFuZz1uYXZpZ2F0b3IubGFuZ3VhZ2UudG9Mb2NhbGVMb3dlckNhc2UoKSx0LnRpbWVzdGFtcD0obmV3IERhdGUpLmdldFRpbWUoKSx0LmxvY2FsaXplPWZ1bmN0aW9uKGUpe3JldHVybiB0LkkxOE5bdC5sYW5nXSYmdC5JMThOW3QubGFuZ11bZV0/dC5JMThOW3QubGFuZ11bZV06ZX0sdC5wcm9qZWN0PXt9LHQuaW5pdD1mdW5jdGlvbihlKXt0LnN0YXRlLnNjYWxlPTEsdC5zdGF0ZS5jb2xvckZvcm1hdD1lLmNvbG9yRm9ybWF0LHQuc3RhdGUudW5pdD1lLnVuaXQsdC5JMThOPWUubGFuZ3VhZ2VzfHx7fSx0LnByb2plY3Q9ZX19LGZ1bmN0aW9uKGUsdCxvKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO2NvbnN0IGk9bygwKTtsZXQgYTt0Lnpvb21TaXplPWZ1bmN0aW9uKGUpe3JldHVybiBlKmkuc3RhdGUuem9vbS9pLnByb2plY3QucmVzb2x1dGlvbn0sdC5wZXJjZW50YWdlU2l6ZT1mdW5jdGlvbihlLHQpe3JldHVybiBNYXRoLnJvdW5kKGUvdCoxZTMpLzEwKyIlIn0sdC51bml0U2l6ZT1mdW5jdGlvbihlLHQpe2xldCBvPWUvaS5wcm9qZWN0LnJlc29sdXRpb24sYT1NYXRoLnJvdW5kKG8qaS5zdGF0ZS5zY2FsZSoxMDApLzEwMCxsPWkuc3RhdGUudW5pdC5zcGxpdCgiLyIpLG49bFswXTtyZXR1cm4gbC5sZW5ndGg+MSYmdCYmKG49bFsxXSksYStufSx0Lm1lc3NhZ2U9ZnVuY3Rpb24oZSl7bGV0IHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI21lc3NhZ2UiKTt0LmlubmVyVGV4dD1lLHQuc3R5bGUuZGlzcGxheT0iaW5oZXJpdCIsYSYmKGNsZWFyVGltZW91dChhKSxhPXZvaWQgMCksYT1zZXRUaW1lb3V0KCgpPT50LnN0eWxlLmRpc3BsYXk9Im5vbmUiLDFlMyl9fSxmdW5jdGlvbihlLHQsbyl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTtjb25zdCBpPW8oMCksYT1vKDUpO3QuZ2V0RXZlbnRUYXJnZXQ9ZnVuY3Rpb24oZSx0LG8pe2xldCBpPXQudGFyZ2V0O2Zvcig7aSYmaSE9PWU7KXtpZihpLm1hdGNoZXMobykpcmV0dXJuIGk7aT1pLnBhcmVudEVsZW1lbnR9fSx0LmdldEluZGV4PWZ1bmN0aW9uKGUpe3JldHVybiBwYXJzZUludChlLmRhdGFzZXQuaW5kZXgpfSx0Lm1vdXNlb3V0TGF5ZXI9ZnVuY3Rpb24oKXt2YXIgZTtudWxsPT09KGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmhvdmVyIikpfHx2b2lkIDA9PT1lfHxlLmNsYXNzTGlzdC5yZW1vdmUoImhvdmVyIiksZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3J1bGVycyIpLnN0eWxlLmRpc3BsYXk9Im5vbmUifSx0LnNlbGVjdGVkTGF5ZXI9ZnVuY3Rpb24oKXt2YXIgZTtpZihudWxsPT1pLnN0YXRlLnNlbGVjdGVkSW5kZXgpcmV0dXJuITE7bnVsbD09PShlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5zZWxlY3RlZCIpKXx8dm9pZCAwPT09ZXx8ZS5jbGFzc0xpc3QucmVtb3ZlKCJzZWxlY3RlZCIpLGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNsYXllci0iK2kuc3RhdGUuc2VsZWN0ZWRJbmRleCkuY2xhc3NMaXN0LmFkZCgic2VsZWN0ZWQiKSxkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcnVsZXJzIikuc3R5bGUuZGlzcGxheT0ibm9uZSJ9LHQucmVtb3ZlU2VsZWN0ZWQ9ZnVuY3Rpb24oKXtpZih2b2lkIDA9PT1pLnN0YXRlLnNlbGVjdGVkSW5kZXgpcmV0dXJuITE7ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2xheWVyLSIraS5zdGF0ZS5zZWxlY3RlZEluZGV4KS5jbGFzc0xpc3QucmVtb3ZlKCJzZWxlY3RlZCIpLGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNydWxlcnMiKS5zdHlsZS5kaXNwbGF5PSJub25lIixkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjaW5zcGVjdG9yIikuY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlIiksaS5zdGF0ZS5zZWxlY3RlZEluZGV4PXZvaWQgMCxpLnN0YXRlLnRlbXBUYXJnZXRSZWN0PXZvaWQgMCxhLmhpZGVEaXN0YW5jZSgpfSx0LnNjYWxlU2l6ZT1mdW5jdGlvbihlKXtyZXR1cm4gTWF0aC5yb3VuZChlL2kuc3RhdGUuc2NhbGUqMTApLzEwfSx0LmdldEludGVyc2VjdGlvbj1mdW5jdGlvbihlLHQpe2xldCBvPU1hdGgubWF4KGUueCx0LngpLGk9TWF0aC5tYXgoZS55LHQueSksYT1NYXRoLm1pbihlLngrZS53aWR0aCx0LngrdC53aWR0aCktbyxsPU1hdGgubWluKGUueStlLmhlaWdodCx0LnkrdC5oZWlnaHQpLWk7aWYoIShhPD0wfHxsPD0wKSlyZXR1cm57eDpvLHk6aSx3aWR0aDphLGhlaWdodDpsfX0sdC5jbGlja0VsZW1lbnQ9ZnVuY3Rpb24oZSl7bGV0IHQ9ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIk1vdXNlRXZlbnRzIik7dC5pbml0RXZlbnQoImNsaWNrIiwhMCwhMCksZS5kaXNwYXRjaEV2ZW50KHQpfX0sZnVuY3Rpb24oZSx0LG8peyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5ldmVudERlbGVnYXRlPWZ1bmN0aW9uKGUsdCxvLGksYSl7ZnVuY3Rpb24gbChlKXtsZXQgdD1lLnRhcmdldCxhPWUuY3VycmVudFRhcmdldDtmb3IoO3QhPT1hOyl7aWYodC5tYXRjaGVzKG8pKXJldHVybiB2b2lkIGkuY2FsbCh0LC4uLmFyZ3VtZW50cyk7dD10LnBhcmVudEVsZW1lbnR9fSJzdHJpbmciIT10eXBlb2YgZT9lLmFkZEV2ZW50TGlzdGVuZXIodCxsKTpkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKGUpLmZvckVhY2goZT0+ZS5hZGRFdmVudExpc3RlbmVyKHQsbCkpfX0sZnVuY3Rpb24oZSx0LG8peyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7Y29uc3QgaT1vKDApLGE9bygwKTt0LmNvbG9ySXRlbT1mdW5jdGlvbihlKXt2YXIgdD1hLnByb2plY3QuY29sb3JOYW1lcz9hLnByb2plY3QuY29sb3JOYW1lc1tlWyJhcmdiLWhleCJdXToiIjtyZXR1cm5bJzxkaXYgY2xhc3M9ImNvbG9yIicrKHQ9dD8nIGRhdGEtbmFtZT0iJyt0KyciJzoiIikrIj4iLCc8bGFiZWw+PGVtPjxpIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOicrZVsiY3NzLXJnYmEiXSsnOyI+PC9pPjwvZW0+PC9sYWJlbD48aW5wdXQgZGF0YS1jb2xvcj0iJytlbmNvZGVVUkkoSlNPTi5zdHJpbmdpZnkoZSkpKyciIHR5cGU9InRleHQiIHZhbHVlPSInK2VbaS5zdGF0ZS5jb2xvckZvcm1hdF0rJyIgcmVhZG9ubHk9InJlYWRvbmx5Ij4nLCI8L2Rpdj4iXS5qb2luKCIiKX0sdC5wcm9wZXJ0eVR5cGU9ZnVuY3Rpb24oZSx0LG8pe3ZhciBpPW8/JyBzdHlsZT0icGFkZGluZzowIic6IiI7cmV0dXJuWyI8c2VjdGlvbj4iLCI8aDM+IithLmxvY2FsaXplKGUpKyI8L2gzPiIsJzxkaXYgY2xhc3M9ImNvbnRleHQiJytpKyI+Iix0LCI8L2Rpdj4iLCI8L3NlY3Rpb24+Il0uam9pbigiIil9fSxmdW5jdGlvbihlLHQsbyl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTtjb25zdCBpPW8oMSksYT1vKDApLGw9bygyKTtmdW5jdGlvbiBuKGUpe3JldHVybiBhLnN0YXRlLmN1cnJlbnQubGF5ZXJzW2VdLnJlY3R9dC5kaXN0YW5jZT1mdW5jdGlvbigpe2lmKHZvaWQgMD09PWEuc3RhdGUuc2VsZWN0ZWRJbmRleClyZXR1cm47aWYoYS5zdGF0ZS5zZWxlY3RlZEluZGV4PT1hLnN0YXRlLnRhcmdldEluZGV4JiYhYS5zdGF0ZS50ZW1wVGFyZ2V0UmVjdClyZXR1cm47dmFyIGUsdCxvLHIscz1uKGEuc3RhdGUuc2VsZWN0ZWRJbmRleCksYz1hLnN0YXRlLnRlbXBUYXJnZXRSZWN0fHxuKGEuc3RhdGUudGFyZ2V0SW5kZXgpLGQ9aS56b29tU2l6ZShzLngrcy53aWR0aC8yKSx1PWkuem9vbVNpemUocy55K3MuaGVpZ2h0LzIpO2xldCBwPXMueCtzLndpZHRoLGg9cy55K3MuaGVpZ2h0LHk9Yy54K2Mud2lkdGgsbT1jLnkrYy5oZWlnaHQ7aWYobC5nZXRJbnRlcnNlY3Rpb24ocyxjKSl7dmFyIGY9KGc9Yyx7dG9wOih2PXMpLnktZy55LHJpZ2h0OmcueCtnLndpZHRoLXYueC12LndpZHRoLGJvdHRvbTpnLnkrZy5oZWlnaHQtdi55LXYuaGVpZ2h0LGxlZnQ6di54LWcueH0pOzAhPWYudG9wJiYoZT17eDpkLHk6Zi50b3A+MD9pLnpvb21TaXplKGMueSk6aS56b29tU2l6ZShzLnkpLGg6aS56b29tU2l6ZShNYXRoLmFicyhmLnRvcCkpLGRpc3RhbmNlOmkudW5pdFNpemUoTWF0aC5hYnMoZi50b3ApKSxwZXJjZW50YWdlRGlzdGFuY2U6aS5wZXJjZW50YWdlU2l6ZShNYXRoLmFicyhmLnRvcCksYS5zdGF0ZS5jdXJyZW50LmhlaWdodCl9KSwwIT1mLnJpZ2h0JiYodD17eDpmLnJpZ2h0PjA/aS56b29tU2l6ZShwKTppLnpvb21TaXplKHkpLHk6dSx3Omkuem9vbVNpemUoTWF0aC5hYnMoZi5yaWdodCkpLGRpc3RhbmNlOmkudW5pdFNpemUoTWF0aC5hYnMoZi5yaWdodCkpLHBlcmNlbnRhZ2VEaXN0YW5jZTppLnBlcmNlbnRhZ2VTaXplKE1hdGguYWJzKGYucmlnaHQpLGEuc3RhdGUuY3VycmVudC53aWR0aCl9KSwwIT1mLmJvdHRvbSYmKG89e3g6ZCx5OmYuYm90dG9tPjA/aS56b29tU2l6ZShoKTppLnpvb21TaXplKG0pLGg6aS56b29tU2l6ZShNYXRoLmFicyhmLmJvdHRvbSkpLGRpc3RhbmNlOmkudW5pdFNpemUoTWF0aC5hYnMoZi5ib3R0b20pKSxwZXJjZW50YWdlRGlzdGFuY2U6aS5wZXJjZW50YWdlU2l6ZShNYXRoLmFicyhmLmJvdHRvbSksYS5zdGF0ZS5jdXJyZW50LmhlaWdodCl9KSwwIT1mLmxlZnQmJihyPXt4OmYubGVmdD4wP2kuem9vbVNpemUoYy54KTppLnpvb21TaXplKHMueCkseTp1LHc6aS56b29tU2l6ZShNYXRoLmFicyhmLmxlZnQpKSxkaXN0YW5jZTppLnVuaXRTaXplKE1hdGguYWJzKGYubGVmdCkpLHBlcmNlbnRhZ2VEaXN0YW5jZTppLnBlcmNlbnRhZ2VTaXplKE1hdGguYWJzKGYubGVmdCksYS5zdGF0ZS5jdXJyZW50LndpZHRoKX0pfWVsc2Ugcy55Pm0mJihlPXt4OmQseTppLnpvb21TaXplKG0pLGg6aS56b29tU2l6ZShzLnktbSksZGlzdGFuY2U6aS51bml0U2l6ZShzLnktbSkscGVyY2VudGFnZURpc3RhbmNlOmk