@touchtech/baselayer-ui 2.5.9 → 2.5.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Image/Image.d.ts +5 -3
- package/dist/index.js +3 -3
- package/dist/styles.css +37 -2
- package/package.json +1 -1
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from "react";
|
|
2
|
+
export declare const emptyImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=";
|
|
2
3
|
declare type ImageProps = {
|
|
3
4
|
src: string;
|
|
4
5
|
alt?: string;
|
|
5
6
|
srcWidth?: number;
|
|
6
7
|
srcHeight?: number;
|
|
7
8
|
children?: React.ReactNode;
|
|
9
|
+
animation?: "fadeIn" | "scaleUp";
|
|
8
10
|
layout?: "cover" | "contain" | "stretchHorizontally" | "stretchVertically";
|
|
9
11
|
};
|
|
10
|
-
declare function
|
|
11
|
-
export default
|
|
12
|
+
declare function ImageComponent({ src, alt, srcWidth, srcHeight, children, animation, layout, }: ImageProps): JSX.Element;
|
|
13
|
+
export default ImageComponent;
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
!function(e,t){for(var n in t)e[n]=t[n]}(exports,function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=9)}([function(e,t){e.exports=require("react")},function(e,t,n){"use strict";n.r(t),n.d(t,"default",(function(){return a}));var r=Array.isArray;function a(e){var t="";if("string"==typeof e||"number"==typeof e)return e||"";if(r(e))for(var n,o=0;o<e.length;o++)""!==(n=a(e[o]))&&(t+=(t&&" ")+n);else for(var o in e)e.hasOwnProperty(o)&&e[o]&&(t+=(t&&" ")+o);return t}},function(e,t,n){e.exports=n(43)()},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(27);Object.defineProperty(t,"Icon",{enumerable:!0,get:function(){return r.default}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(12);Object.defineProperty(t,"ButtonLink",{enumerable:!0,get:function(){return r.default}})},function(e,t,n){e.exports={listViewItem:"_2LgjqABwjHtpbGzkQQkqiQ"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(10);Object.defineProperty(t,"Button",{enumerable:!0,get:function(){return r.default}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(16);Object.defineProperty(t,"ColorSwatch",{enumerable:!0,get:function(){return r.default}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(21);Object.defineProperty(t,"Modal",{enumerable:!0,get:function(){return r.default}})},function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),a=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||t.hasOwnProperty(n)||r(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),a(n(6),t),a(n(4),t),a(n(14),t),a(n(7),t),a(n(19),t),a(n(24),t),a(n(3),t),a(n(29),t),a(n(32),t),a(n(35),t),a(n(38),t),a(n(45),t),a(n(8),t),a(n(54),t),a(n(57),t),a(n(60),t),a(n(65),t),a(n(68),t)},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(0)),o=r(n(1)),i=r(n(11));t.default=function(e){var t,n=e.children,r=e.className,u=e.onClick,l=e.disabled,d=void 0!==l&&l,c=e.inverted,f=void 0!==c&&c,s=e.rounded,v=void 0!==s&&s,p=e.noShadow,m=void 0!==p&&p,_=e.noPadding,y=void 0!==_&&_,h=e.noBorder,b=void 0!==h&&h,O=e.transparent,g=void 0!==O&&O,P=e.stretchHorizontally,j=void 0!==P&&P,E=e.stretchVertically,w=void 0!==E&&E,k=e.offsetSides,C=void 0===k?[]:k,x=e.align,M=void 0===x?"center":x,S=e.size,N=void 0===S?"medium":S,z=e.type;return a.default.createElement("button",{className:o.default([i.default.container,i.default[N],i.default[M],(t={},t[i.default.inverted]=f,t[i.default.rounded]=v,t[i.default.noShadow]=m,t[i.default.noPadding]=y,t[i.default.noBorder]=b,t[i.default.transparent]=g,t[i.default.stretchHorizontally]=j,t[i.default.stretchVertically]=w,t[i.default.leftOffset]=v&&C.includes("left"),t[i.default.rightOffset]=v&&C.includes("right"),t),r]),disabled:d,onClick:u,type:z,role:"button"},"string"!=typeof n&&Array.isArray(n)&&n.length?a.default.createElement("div",{className:i.default.content},n):n)}},function(e,t,n){e.exports={container:"M9_egEC8msu135oPGVdIf",left:"RSRbTg8Yc4-s8k6qU_vCg",small:"_1bNQhbZwLA8ErLmwdQitJe",large:"_2DwLFD-4gDz9HEAAiwWJPq",inverted:"_31CfmTUYpEh1hZvctQ9lK4",rounded:"_2bq31qKD7B6r6CTCOL3drW",rightOffset:"_2eUCWQMETOgiXuib7XfThZ",leftOffset:"G8o_OMDUFsEQ1ytU7oUYG",noShadow:"_2vknhUFAIGmjXs7tgkAC7I",noBorder:"_2p0GpdmPKIFCUes584YHeV",transparent:"_8vMlSRH_9HoRGJh8Swka",stretchHorizontally:"nZ9rOZwzGXVI3ayRgA3QC",stretchVertically:"_1y8ifb95spTLWGAmsbw1R2",noPadding:"_3cO49JELNKtGyaFxRlshyO",content:"o8d7YoT83umePPSFzK31Y"}},function(e,t,n){"use strict";var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var a in t=arguments[n])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}).apply(this,arguments)},a=this&&this.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var i=o(n(0)),u=o(n(1)),l=o(n(13));t.default=function(e){var t,n=e.as,o=e.children,d=e.className,c=e.size,f=e.inverted,s=void 0!==f&&f,v=e.rounded,p=void 0!==v&&v,m=e.transparent,_=void 0!==m&&m,y=e.noShadow,h=void 0!==y&&y,b=e.noPadding,O=void 0!==b&&b,g=e.noBorder,P=void 0!==g&&g,j=e.stretchHorizontally,E=void 0!==j&&j,w=e.stretchVertically,k=void 0!==w&&w,C=e.offsetSides,x=void 0===C?[]:C,M=e.align,S=void 0===M?"center":M,N=a(e,["as","children","className","size","inverted","rounded","transparent","noShadow","noPadding","noBorder","stretchHorizontally","stretchVertically","offsetSides","align"]);return void 0===n&&(n="a"),i.default.createElement(n,r({"data-testid":"button-link",className:u.default([l.default.container,l.default[c],l.default[S],(t={},t[l.default.inverted]=s,t[l.default.rounded]=p,t[l.default.noShadow]=h,t[l.default.noPadding]=O,t[l.default.noBorder]=P,t[l.default.transparent]=_,t[l.default.stretchHorizontally]=E,t[l.default.stretchVertically]=k,t[l.default.leftOffset]=p&&x.includes("left"),t[l.default.rightOffset]=p&&x.includes("right"),t),d])},N),"string"!=typeof o&&Array.isArray(o)&&o.length?i.default.createElement("div",{className:l.default.content},o):o)}},function(e,t,n){e.exports={container:"_3eVBgmkG6hjVokm5Xy4UMQ",left:"_3F6hMEQkJgywUkt1fwmTsy",small:"_8I9fhnzbMvCrl5KPj9f0",medium:"csj4PKQgdPBeF7Rd5Z-WQ",large:"_3_SwqmDWOGv877iHACnJpC",inverted:"_1xOa3CBRHzPCRWNsiJ65aC",rounded:"_3UGlOItzKokVg0wGH0eIlX",rightOffset:"_13tPsp6dfA1Twb1MMHRiGT",leftOffset:"NI5n6bEVRCQPy6AOAsQ1q",noShadow:"gIY9iuvC2VWxcvwwCmaJJ",transparent:"_3Xflh3Q1AZnTOD0ctquI6w",stretchHorizontally:"_2FbRDEGS_7eMUcJ0ViOBU0",stretchVertically:"_1rPm-t5ZWwrS-L9l7z66jb",noPadding:"_3J8DeaLq5iw3Ap7qKJkP9B",noBorder:"_3cEQs-K_mShFNDgDP32Wd6",content:"_1VTyfTwVloAcZwYCZyslsJ"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(15);Object.defineProperty(t,"ColorPicker",{enumerable:!0,get:function(){return r.default}})},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(0)),o=r(n(1)),i=n(7),u=r(n(18));t.default=function(e){var t=e.colors,n=e.onSelect,r=e.selectedColor,l=e.direction,d=void 0===l?"vertical":l;return a.default.createElement("div",{className:o.default([u.default.colorPicker,u.default[d]])},t.map((function(e){return a.default.createElement(i.ColorSwatch,{key:e.key,color:e,isSelected:e===r,onClick:function(){return n(e)}})})))}},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(0)),o=r(n(1)),i=r(n(17));t.default=function(e){var t,n=e.color,r=e.onClick,u=e.isSelected,l=void 0!==u&&u;return a.default.createElement("button",{className:o.default([i.default.colorSwatch,(t={},t[i.default.selected]=l,t)]),"data-testid":"color-swatch",disabled:l,onClick:r,style:{backgroundColor:n.hexCode}},a.default.createElement("span",{className:i.default.srOnly},"Select "+n.label+" color"))}},function(e,t,n){e.exports={colorSwatch:"_13ss1xsMNizvEgP_hxEV8B",selected:"L6fAt6RZYz_z3wPbjZExH",srOnly:"_3vJ5mxpzaYsKaxf-8tB31x"}},function(e,t,n){e.exports={colorPicker:"_31FwH_nWr72k3pugApJub9",horizontal:"Qa-BpuTT2kxpmV_AQgCjH",vertical:"_2x4SAnbopyZmkycWLC0EXk"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(20);Object.defineProperty(t,"ConfirmationModal",{enumerable:!0,get:function(){return r.default}})},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(0)),o=r(n(1)),i=n(8),u=r(n(23));function l(e){var t,n=e.children,r=e.header,l=e.isOpen,d=e.buttonsLeft,c=void 0===d?[]:d,f=e.buttonsRight,s=void 0===f?[]:f,v=e.onClose,p=void 0===v?function(){}:v,m=e.noPadding,_=void 0!==m&&m;return a.default.createElement(i.Modal,{isOpen:l,onClose:p},a.default.createElement("div",{className:u.default.container},a.default.createElement("h1",{className:u.default.modalHeader},r),a.default.createElement("div",{className:o.default([u.default.modalContent,(t={},t[u.default.noPadding]=_,t)])},n),a.default.createElement("div",{className:u.default.modalButtonsContainer},a.default.createElement("div",{className:u.default.modalButtons},c),a.default.createElement("div",{className:u.default.modalButtons},s))))}l.displayName="ConfirmationModal",t.default=l},function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.hasOwnProperty.call(e,n)&&r(t,e,n);return a(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var u=o(n(0)),l=n(71),d=i(n(22));t.default=function(e){var t=e.children,n=e.isOpen,r=e.button,a=e.onClose,o=void 0===a?function(){}:a;l.useHotkeys("Escape",o);var i=u.useCallback((function(){o()}),[o]);return n&&u.default.createElement(u.default.Fragment,null,u.default.createElement("div",{className:d.default.overlay,"data-testid":"modal-overlay",onClick:i}),u.default.createElement("div",{className:d.default.modal,"data-testid":"modal"},t),r&&u.default.createElement("div",{className:d.default.modalButton},r))}},function(e,t,n){e.exports={overlay:"_1yxCbQJqStUvytvKEeNC3n",modal:"D8SjBx3ikz636YubnHYAY",modalButton:"o8VRVxMrs1xXavADyxjLG"}},function(e,t,n){e.exports={container:"kkgHoBQhFPsKj_x1ZFdRH",modalHeader:"_1WuvHD-GdXLrtqwa04W1qy",modalContent:"_27eUySQqvq5qloNClIjIST",noPadding:"_2gtBXL9PFSpHsW0A9xd55S",modalButtonsContainer:"_5gIpyF3X5thPQAnsAC4z9",modalButtons:"swsoCii1w4xNl7ioDVkO5"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(25);Object.defineProperty(t,"FloatingPanel",{enumerable:!0,get:function(){return r.default}})},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(0)),o=r(n(1)),i=r(n(26));t.default=function(e){var t,n=e.children,r=e.layout,u=void 0===r?"column":r,l=e.placement,d=void 0===l?{horizontal:"center",vertical:"bottom",parent:"viewport"}:l,c="center"===d.horizontal?"horizontalCenter":d.horizontal,f="center"===d.vertical?"verticalCenter":d.vertical;return a.default.createElement("div",{"data-testid":"floating-panel",className:o.default([i.default.container,i.default[c],i.default[f],i.default[u],(t={},t[i.default.fixed]="container"!==d.parent,t)])},n)}},function(e,t,n){e.exports={container:"a6NHO2CVVCfiniye2XLN-",row:"_3RSgB76rEBniPc2Ycr8Zbv",column:"_1JkX15igclnbm5sRScWVDY",fixed:"MMQ1yjEafWkYFVDHMpTbI",plain:"_3m2M_Narc5xwLay8HJljkc",transparent:"_1rfa49zhZxNifz64Oqb_6P",top:"_kUalnDeEfvzqAji0AMDo",topEdge:"W8JAIwLjO8JQGbviZpPQw",topOnEdge:"_3opJ7Eb6tj394uV8a57ixz",right:"_3-vbwjp0aPcLEV1Sx0ICgP",rightEdge:"_3XNFy5ZoMCoYBIabeGN4BQ",rightOnEdge:"_12c3CzUMQE8AG3AL8Hiki2",bottom:"_3geBENH5oErqGdt-QyHnPh",bottomEdge:"_3_saM4Gs32nRbIHHxIEbF6",bottomOnEdge:"_2PLE4dmGhncgk-lEnoU4kv",left:"_1iSBnyZgPeFUWoM4i6dSpU",leftEdge:"_1fX19qIOShn2o5uusRzTgs",leftOnEdge:"KBHDockuHTEOKMGOzadXi",horizontalCenter:"_31t6tHRJ5s-5DcDLFTKh1m",verticalCenter:"_2hq7fkDXHxrxz2t7LLg4_9"}},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(0)),o=r(n(1)),i=r(n(28));t.default=function(e){var t,n=e.src,r=e.alt,u=e.size,l=void 0===u?"medium":u,d=e.inverted,c=void 0!==d&&d;return a.default.createElement("img",{className:o.default([i.default.icon,i.default[l],(t={},t[i.default.inverted]=c,t)]),crossOrigin:"anonymous","data-testid":"icon",alt:r,src:n})}},function(e,t,n){e.exports={icon:"uh8zkmQp5ybk5WJSla69D",small:"_9DICtqmQSnLPjm1XI7YVs",medium:"sJpxfYgiTz7ik6JOGu1wi",large:"_2rgucAH8Bnli-cmjz9i2C2",inverted:"I-eI5q8rd2bSp9B-FhUza"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(30);Object.defineProperty(t,"IconButton",{enumerable:!0,get:function(){return r.default}})},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(0)),o=r(n(1)),i=n(3),u=r(n(31));t.default=function(e){var t,n=e.className,r=e.src,l=e.alt,d=e.offsetSides,c=void 0===d?[]:d,f=e.onClick,s=void 0===f?function(){}:f,v=e.disabled,p=void 0!==v&&v,m=e.inverted,_=void 0!==m&&m,y=e.noShadow,h=void 0!==y&&y,b=e.noBorder,O=void 0!==b&&b,g=e.transparent,P=void 0!==g&&g,j=e.rounded,E=void 0!==j&&j,w=e.size,k=void 0===w?"medium":w,C=e.type,x=void 0===C?"button":C;return a.default.createElement("button",{className:o.default([u.default.container,u.default[k],(t={},t[u.default.inverted]=_,t[u.default.rounded]=E,t[u.default.noShadow]=h,t[u.default.noBorder]=O,t[u.default.transparent]=P,t[u.default.topOffset]=E&&c.includes("top"),t[u.default.rightOffset]=E&&c.includes("right"),t[u.default.bottomOffset]=E&&c.includes("bottom"),t[u.default.leftOffset]=E&&c.includes("left"),t),n]),disabled:p,onClick:s,type:x,role:"button"},a.default.createElement(i.Icon,{src:r,alt:l,size:k,inverted:_}))}},function(e,t,n){e.exports={container:"_2MPuJ3ApvrAvrewjSWGAA2",small:"lOkoan7dbp-goDtJVuK7B",medium:"_3a9cWts_Y7x3pajk8umN3z",large:"_2aG6zXqTEKVcvBaaniCNBy",rounded:"_2JX034qUTCoTdWC2ppA487",topOffset:"_1wpC-WXgL06QKxtPzOwNRK",rightOffset:"LIzrQC7poQT9jURBqMDKh",bottomOffset:"_2i_w5ULkUK7LVw5hEO97Ew",leftOffset:"_38eKlTQTV1YlnEe1GmNtQk",inverted:"_2NkZ50rkA3eZCysY9FAp-e",noShadow:"_3Uy5HZdvkWf7bilT0wxwVe",noBorder:"_2F4Hy9lq5OCrEpPZPh5xAJ",transparent:"_2u7qTMeE9D5rtcsEcSoAY3"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(33);Object.defineProperty(t,"IconButtonLink",{enumerable:!0,get:function(){return r.default}})},function(e,t,n){"use strict";var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var a in t=arguments[n])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}).apply(this,arguments)},a=this&&this.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var i=o(n(0)),u=o(n(1)),l=n(3),d=o(n(34));t.default=function(e){var t,n=e.as,o=e.className,c=e.src,f=e.alt,s=e.inverted,v=void 0!==s&&s,p=e.noShadow,m=void 0!==p&&p,_=e.noBorder,y=void 0!==_&&_,h=e.transparent,b=void 0!==h&&h,O=e.rounded,g=void 0!==O&&O,P=e.offsetSides,j=void 0===P?[]:P,E=e.size,w=void 0===E?"medium":E,k=a(e,["as","className","src","alt","inverted","noShadow","noBorder","transparent","rounded","offsetSides","size"]);return void 0===n&&(n="a"),i.default.createElement(n,r({"data-testid":"icon-button-link",className:u.default([d.default.container,d.default[w],(t={},t[d.default.inverted]=v,t[d.default.rounded]=g,t[d.default.noShadow]=m,t[d.default.noBorder]=y,t[d.default.transparent]=b,t[d.default.topOffset]=g&&j.includes("top"),t[d.default.rightOffset]=g&&j.includes("right"),t[d.default.bottomOffset]=g&&j.includes("bottom"),t[d.default.leftOffset]=g&&j.includes("left"),t),o])},k),i.default.createElement(l.Icon,{src:c,alt:f,size:w,inverted:v}))}},function(e,t,n){e.exports={container:"_1uifmKNPDzdu5YDnhgwPQK",small:"pfHcYaew-HrHtTNuR4v7h",large:"_26Z9FH-CNPqf55ZRP1vnab",rounded:"_2q7WvROhNm3gsRIRaQQeaU",topOffset:"wZy_vulZkMbWSX0akcZHA",rightOffset:"_2jhhpm60_yPEfxQ-wazj-5",bottomOffset:"DnnrG7ZXmTIhmWUcs99m1",leftOffset:"_1YdCg7T6XjhmxwcjLNSEb-",inverted:"HV0R-lqwmyeqsS1Z8poZS",noShadow:"_1LPpt70Jjim6SfZe35G2kb",noBorder:"RkzSrGixM28JMat6IB5Lr",transparent:"_1KdXfY3Pk6tENYH81tWrps"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(36);Object.defineProperty(t,"Image",{enumerable:!0,get:function(){return r.default}})},function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.hasOwnProperty.call(e,n)&&r(t,e,n);return a(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var u=o(n(0)),l=i(n(1)),d=i(n(37));t.default=function(e){var t=e.src,n=e.alt,r=e.srcWidth,a=e.srcHeight,o=e.children,i=e.layout,c=void 0===i?"contain":i;return o?u.createElement("div",{className:l.default([d.default.container,d.default.hasOverlay])},u.createElement("img",{className:l.default([d.default.image,d.default[c]]),crossOrigin:"anonymous","data-testid":"image",alt:n,src:t,width:r,height:a}),o&&u.createElement("div",{className:d.default.overlay},o)):u.createElement("img",{className:l.default([d.default.image,d.default[c]]),crossOrigin:"anonymous","data-testid":"image",alt:n,src:t,width:r,height:a})}},function(e,t,n){e.exports={container:"_3zwln8xpkZwpTY5i6J7bOD",hasOverlay:"_2el8xWqqf3w4S3x0s2D9xl",overlay:"Eg3imfbXdI6U6rfRE0-qO",image:"t1897dfts_pqHzSnwmWBW",cover:"_1-R_HDjO6qNnywcNiS8byD",contain:"_3mDpCjHJ2g66e0w4R2EZkG",stretchHorizontally:"_3yEtH7cqpUlVFaGiWG129w",stretchVertically:"lyiBs6OBxvREnwIR0ls2C"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(39);Object.defineProperty(t,"ListView",{enumerable:!0,get:function(){return r.default}});var a=n(41);Object.defineProperty(t,"ListViewItem",{enumerable:!0,get:function(){return a.default}});var o=n(42);Object.defineProperty(t,"ListViewLinkItem",{enumerable:!0,get:function(){return o.default}})},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(0)),o=r(n(1)),i=r(n(40));t.default=function(e){var t=e.children,n=e.className,r=e.header;return a.default.createElement("div",{className:o.default([i.default.container,n])},r&&a.default.createElement("h3",{className:i.default.header},r),a.default.createElement("ul",{className:i.default.list},t))}},function(e,t,n){e.exports={container:"CPHNd8osKjLvQDEQUErux",header:"_1e7hHSVo59e8yQnhc9B6Id",list:"_1w1W8E6_Hzfes3WZTYZaJK"}},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(0)),o=r(n(1)),i=n(6),u=r(n(5));t.default=function(e){var t=e.children,n=e.active,r=void 0!==n&&n,l=e.disabled,d=void 0!==l&&l,c=e.transparent,f=void 0!==c&&c,s=e.noPadding,v=void 0!==s&&s,p=e.size,m=void 0===p?"medium":p,_=e.align,y=void 0===_?"center":_,h=e.onClick,b=void 0===h?function(){}:h;return a.default.createElement("li",{className:o.default([u.default.listViewItem])},a.default.createElement(i.Button,{onClick:b,disabled:d,inverted:r,transparent:f,noPadding:v,align:y,size:m,stretchHorizontally:!0,noShadow:!0,noBorder:!0},t))}},function(e,t,n){"use strict";n.r(t);var r=n(0),a=n.n(r),o=n(2),i=n.n(o),u=n(1),l=n(4),d=n(5),c=n.n(d);function f(){return(f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function s({children:e,active:t,transparent:n,noPadding:r,size:o,align:i,as:d,...s}){return a.a.createElement("li",{className:Object(u.default)([c.a.listViewItem])},a.a.createElement(l.ButtonLink,f({as:d,inverted:t,transparent:n,noPadding:r,align:i,size:o,stretchHorizontally:!0,noShadow:!0,noBorder:!0},s),e))}s.defaultProps={active:!1,transparent:!1,noPadding:!1,size:"medium",align:"center",as:"a"},s.propTypes={children:i.a.node.isRequired,as:i.a.elementType,active:i.a.bool,transparent:i.a.bool,noPadding:i.a.bool,align:i.a.oneOf(["left","center"]),size:i.a.string,onClick:i.a.func},t.default=s},function(e,t,n){"use strict";var r=n(44);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(46);Object.defineProperty(t,"Menu",{enumerable:!0,get:function(){return r.default}});var a=n(48);Object.defineProperty(t,"MenuContainer",{enumerable:!0,get:function(){return a.default}});var o=n(50);Object.defineProperty(t,"MenuItem",{enumerable:!0,get:function(){return o.default}});var i=n(52);Object.defineProperty(t,"MenuLinkItem",{enumerable:!0,get:function(){return i.default}})},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(0)),o=r(n(1)),i=r(n(47));t.default=function(e){var t,n=e.children,r=e.className,u=e.isOpen,l=void 0===u||u,d=e.placement,c=void 0===d?{horizontal:"left",vertical:"bottom"}:d,f=e.header;return a.default.createElement("div",{className:o.default([i.default.menu,i.default[c.horizontal],i.default[c.vertical],(t={},t[i.default.open]=l,t),r])},f&&l&&a.default.createElement("h3",{className:i.default.menuHeader},f),a.default.createElement("ul",null,l&&n))}},function(e,t,n){e.exports={menu:"_2ahi8JcnxGHrnZmD0xT9RL",top:"_3gpFTd1Fdx4EAfq170TGs7",right:"_1L5ATpM9GXy-SORFr0G6S4",left:"CYEJl39TkEfnKal3vtvz9",bottom:"_3zyp-NdTBeBDKvk26psZup",open:"_1iaaziZrVI_-E8D99WdNji",entrance:"_2fiKe4-X8PqcG4_9qeB3ZO",menuHeader:"_19nk1IMNS-u_YIQLlmYRtU"}},function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.hasOwnProperty.call(e,n)&&r(t,e,n);return a(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var u=o(n(0)),l=i(n(1)),d=i(n(49));t.default=u.forwardRef((function(e,t){var n=e.children,r=e.className;return u.default.createElement("div",{ref:t,className:l.default([d.default.menuContainer,r])},n)}))},function(e,t,n){e.exports={menuContainer:"_2-SFwsppEuobBJkAwwQrFC"}},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(0)),o=r(n(1)),i=r(n(51));t.default=function(e){var t,n=e.children,r=e.className,u=e.onClick,l=e.isActive,d=void 0!==l&&l;return a.default.createElement("li",{className:o.default([i.default.menuItem,(t={},t[i.default.active]=d,t),r]),onClick:u},n)}},function(e,t,n){e.exports={menuItem:"_3gGczRJwrNenXTBLQnC29M",active:"_2j1ilUNkbFGSgulXSoHAdP"}},function(e,t,n){"use strict";var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var a in t=arguments[n])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}).apply(this,arguments)},a=this&&this.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var i=o(n(0)),u=o(n(1)),l=o(n(53));t.default=function(e){var t=e.as,n=e.children,o=e.className,d=a(e,["as","children","className"]);return void 0===t&&(t="a"),i.default.createElement(t,r({"data-testid":"menu-link-item",className:u.default([l.default.menuLinkItem,o])},d),n)}},function(e,t,n){e.exports={menuLinkItem:"_2Dy1LTfScGZtSb_5Lud-lU",active:"_2Uws7bj3yejmn1k7XiyKfQ",menuItem:"_2lI7S2t5zWhQsvg_XnQ7--"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(55);Object.defineProperty(t,"Overlay",{enumerable:!0,get:function(){return r.default}})},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(0)),o=r(n(1)),i=r(n(56));t.default=function(e){var t,n=e.children,r=e.transparent,u=void 0!==r&&r,l=e.isFixed,d=void 0!==l&&l,c=e.onClick,f=void 0===c?function(){}:c;return a.default.createElement("div",{"data-testid":"overlay",className:o.default([i.default.overlay,(t={},t[i.default.transparent]=u,t[i.default.fixed]=d,t)]),onClick:f},n)}},function(e,t,n){e.exports={overlay:"_2QgpyrDcUQyKYESC5DXXJr",transparent:"_28fVmoxp69OPr88Ew0zVeN",fixed:"_2sU3515EbFFgeP1yK2Zubz"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(58);Object.defineProperty(t,"TextInput",{enumerable:!0,get:function(){return r.default}})},function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.hasOwnProperty.call(e,n)&&r(t,e,n);return a(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var u=o(n(0)),l=i(n(1)),d=i(n(59));t.default=function(e){var t=e.label,n=e.onChange,r=e.placeholder,a=e.value,o=e.name,i=e.inputRef,c=e.size,f=void 0===c?"medium":c,s=e.autoFocus,v=void 0!==s&&s,p=e.type,m=void 0===p?"text":p,_=u.useCallback((function(e){return n(e.target.value)}),[n]);return u.default.createElement("label",{className:d.default.textLabel},t,u.default.createElement("input",{"data-testid":"input",ref:i,className:l.default([d.default.textInput,d.default[f]]),onChange:i?void 0:_,placeholder:r,name:o,type:m,value:a,autoFocus:v}))}},function(e,t,n){e.exports={textInput:"_2wfqOzWBoAn_K7goqvjXJe",small:"_1a4QOVJB0zW3Urf_5hqNjj",medium:"_3UJoe8nlpzhVTmC09TVso-",large:"_3DQ52Qd_1K4_VxxVv728SX",textLabel:"_31oAAOE_dvGoAz9qJmo8EG"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(61);Object.defineProperty(t,"Toast",{enumerable:!0,get:function(){return r.default}});var a=n(63);Object.defineProperty(t,"ToastContainer",{enumerable:!0,get:function(){return a.default}})},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(0)),o=r(n(1)),i=r(n(62));t.default=function(e){var t=e.children,n=e.image,r=e.buttons,u=e.onClick,l=void 0===u?function(){}:u;return a.default.createElement("div",{className:o.default([i.default.toast]),onClick:l,"data-testid":"toast"},n&&a.default.createElement("img",{"data-testid":"toast-image",className:i.default.toastImage,src:n.src,alt:n.alt}),a.default.createElement("div",{className:i.default.toastContent},t),a.default.createElement("div",{className:i.default.toastButtons},r))}},function(e,t,n){e.exports={toast:"_3sBs_ERXV3k0SQMGUy2Wj4",entrance:"_1_xjtLeUMoEXNA-qOEZhcx",toastContent:"_10lBETCU3UNFR8py1q1q-h",toastImage:"_3Ci0wpObk6oqf7dwkHsFWo",toastButtons:"FEWDnDsP-9A9JHG20qBS5"}},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(0)),o=r(n(1)),i=r(n(64));t.default=function(e){var t=e.children;return a.default.createElement("div",{className:o.default([i.default.toastContainer]),"data-testid":"toast-container"},t)}},function(e,t,n){e.exports={toastContainer:"_3F8cJU1wmKmbrjidg-O3zp"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(66);Object.defineProperty(t,"Video",{enumerable:!0,get:function(){return r.default}})},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(0)),o=r(n(1)),i=r(n(67));t.default=function(e){var t=e.src,n=e.type,r=e.children,u=e.muted,l=void 0===u||u,d=e.loop,c=void 0===d||d,f=e.autoPlay,s=void 0===f||f,v=e.layout,p=void 0===v?"contain":v;return r?a.default.createElement("div",{className:o.default([i.default.container,i.default.hasOverlay])},a.default.createElement("video",{"data-testid":"video",crossOrigin:"anonymous",className:o.default([i.default.video,i.default[p]]),muted:l,loop:c,autoPlay:s,playsInline:!0},a.default.createElement("source",{"data-testid":"source",src:t,type:n})),r&&a.default.createElement("div",{className:i.default.overlay},r)):a.default.createElement("video",{"data-testid":"video",crossOrigin:"anonymous",className:o.default([i.default.video,i.default[p]]),muted:l,loop:c,autoPlay:s,playsInline:!0},a.default.createElement("source",{"data-testid":"source",src:t,type:n}))}},function(e,t,n){e.exports={container:"_2EQBfr5w8h1x1bq-2fp6wT",hasOverlay:"_3GRMpmGk_PqITcUv0Nfmt3",video:"_2tZfXkEhCkwAzfaG_BVn0B",cover:"_3OYHfbzaL3QHanWZBj8RxO",contain:"_3I_c7shcSrtG_FxvvU2IeE",stretchHorizontally:"_1Z7dL9uEd0Ksx3CkrZhsB8",stretchVertically:"_1zbrDYO0fYFJVc7xvsTYi6",overlay:"_2osXd7SkwF0Lh-2yiquYQM"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(69);Object.defineProperty(t,"useToggle",{enumerable:!0,get:function(){return r.default}});var a=n(70);Object.defineProperty(t,"useOutsideClick",{enumerable:!0,get:function(){return a.default}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0);t.default=function(e){void 0===e&&(e=!1);var t=r.useState(e),n=t[0],a=t[1];return[n,r.useCallback((function(e){return a((function(t){return void 0!==e?e:!t}))}),[])]}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0);t.default=function(e){var t=r.useRef();return r.useEffect((function(){var n=function(n){t.current&&!t.current.contains(n.target)&&e(n)};return document.addEventListener("click",n),document.addEventListener("touchstart",n),function(){document.removeEventListener("click",n),document.removeEventListener("touchstart",n)}}),[e]),t}},function(e,t,n){"use strict";n.r(t),n.d(t,"useHotkeys",(function(){return M})),n.d(t,"useIsHotkeyPressed",(function(){return x}));
|
|
1
|
+
!function(e,t){for(var n in t)e[n]=t[n]}(exports,function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=9)}([function(e,t){e.exports=require("react")},function(e,t,n){"use strict";n.r(t),n.d(t,"default",(function(){return a}));var r=Array.isArray;function a(e){var t="";if("string"==typeof e||"number"==typeof e)return e||"";if(r(e))for(var n,o=0;o<e.length;o++)""!==(n=a(e[o]))&&(t+=(t&&" ")+n);else for(var o in e)e.hasOwnProperty(o)&&e[o]&&(t+=(t&&" ")+o);return t}},function(e,t,n){e.exports=n(43)()},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(27);Object.defineProperty(t,"Icon",{enumerable:!0,get:function(){return r.default}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(12);Object.defineProperty(t,"ButtonLink",{enumerable:!0,get:function(){return r.default}})},function(e,t,n){e.exports={listViewItem:"_2LgjqABwjHtpbGzkQQkqiQ"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(10);Object.defineProperty(t,"Button",{enumerable:!0,get:function(){return r.default}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(16);Object.defineProperty(t,"ColorSwatch",{enumerable:!0,get:function(){return r.default}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(21);Object.defineProperty(t,"Modal",{enumerable:!0,get:function(){return r.default}})},function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),a=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||t.hasOwnProperty(n)||r(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),a(n(6),t),a(n(4),t),a(n(14),t),a(n(7),t),a(n(19),t),a(n(24),t),a(n(3),t),a(n(29),t),a(n(32),t),a(n(35),t),a(n(38),t),a(n(45),t),a(n(8),t),a(n(54),t),a(n(57),t),a(n(60),t),a(n(65),t),a(n(68),t)},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(0)),o=r(n(1)),i=r(n(11));t.default=function(e){var t,n=e.children,r=e.className,u=e.onClick,l=e.disabled,d=void 0!==l&&l,c=e.inverted,f=void 0!==c&&c,s=e.rounded,p=void 0!==s&&s,v=e.noShadow,m=void 0!==v&&v,_=e.noPadding,y=void 0!==_&&_,h=e.noBorder,b=void 0!==h&&h,O=e.transparent,g=void 0!==O&&O,P=e.stretchHorizontally,j=void 0!==P&&P,E=e.stretchVertically,w=void 0!==E&&E,k=e.offsetSides,C=void 0===k?[]:k,M=e.align,x=void 0===M?"center":M,S=e.size,N=void 0===S?"medium":S,A=e.type;return a.default.createElement("button",{className:o.default([i.default.container,i.default[N],i.default[x],(t={},t[i.default.inverted]=f,t[i.default.rounded]=p,t[i.default.noShadow]=m,t[i.default.noPadding]=y,t[i.default.noBorder]=b,t[i.default.transparent]=g,t[i.default.stretchHorizontally]=j,t[i.default.stretchVertically]=w,t[i.default.leftOffset]=p&&C.includes("left"),t[i.default.rightOffset]=p&&C.includes("right"),t),r]),disabled:d,onClick:u,type:A,role:"button"},"string"!=typeof n&&Array.isArray(n)&&n.length?a.default.createElement("div",{className:i.default.content},n):n)}},function(e,t,n){e.exports={container:"M9_egEC8msu135oPGVdIf",left:"RSRbTg8Yc4-s8k6qU_vCg",small:"_1bNQhbZwLA8ErLmwdQitJe",large:"_2DwLFD-4gDz9HEAAiwWJPq",inverted:"_31CfmTUYpEh1hZvctQ9lK4",rounded:"_2bq31qKD7B6r6CTCOL3drW",rightOffset:"_2eUCWQMETOgiXuib7XfThZ",leftOffset:"G8o_OMDUFsEQ1ytU7oUYG",noShadow:"_2vknhUFAIGmjXs7tgkAC7I",noBorder:"_2p0GpdmPKIFCUes584YHeV",transparent:"_8vMlSRH_9HoRGJh8Swka",stretchHorizontally:"nZ9rOZwzGXVI3ayRgA3QC",stretchVertically:"_1y8ifb95spTLWGAmsbw1R2",noPadding:"_3cO49JELNKtGyaFxRlshyO",content:"o8d7YoT83umePPSFzK31Y"}},function(e,t,n){"use strict";var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var a in t=arguments[n])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}).apply(this,arguments)},a=this&&this.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var i=o(n(0)),u=o(n(1)),l=o(n(13));t.default=function(e){var t,n=e.as,o=e.children,d=e.className,c=e.size,f=e.inverted,s=void 0!==f&&f,p=e.rounded,v=void 0!==p&&p,m=e.transparent,_=void 0!==m&&m,y=e.noShadow,h=void 0!==y&&y,b=e.noPadding,O=void 0!==b&&b,g=e.noBorder,P=void 0!==g&&g,j=e.stretchHorizontally,E=void 0!==j&&j,w=e.stretchVertically,k=void 0!==w&&w,C=e.offsetSides,M=void 0===C?[]:C,x=e.align,S=void 0===x?"center":x,N=a(e,["as","children","className","size","inverted","rounded","transparent","noShadow","noPadding","noBorder","stretchHorizontally","stretchVertically","offsetSides","align"]);return void 0===n&&(n="a"),i.default.createElement(n,r({"data-testid":"button-link",className:u.default([l.default.container,l.default[c],l.default[S],(t={},t[l.default.inverted]=s,t[l.default.rounded]=v,t[l.default.noShadow]=h,t[l.default.noPadding]=O,t[l.default.noBorder]=P,t[l.default.transparent]=_,t[l.default.stretchHorizontally]=E,t[l.default.stretchVertically]=k,t[l.default.leftOffset]=v&&M.includes("left"),t[l.default.rightOffset]=v&&M.includes("right"),t),d])},N),"string"!=typeof o&&Array.isArray(o)&&o.length?i.default.createElement("div",{className:l.default.content},o):o)}},function(e,t,n){e.exports={container:"_3eVBgmkG6hjVokm5Xy4UMQ",left:"_3F6hMEQkJgywUkt1fwmTsy",small:"_8I9fhnzbMvCrl5KPj9f0",medium:"csj4PKQgdPBeF7Rd5Z-WQ",large:"_3_SwqmDWOGv877iHACnJpC",inverted:"_1xOa3CBRHzPCRWNsiJ65aC",rounded:"_3UGlOItzKokVg0wGH0eIlX",rightOffset:"_13tPsp6dfA1Twb1MMHRiGT",leftOffset:"NI5n6bEVRCQPy6AOAsQ1q",noShadow:"gIY9iuvC2VWxcvwwCmaJJ",transparent:"_3Xflh3Q1AZnTOD0ctquI6w",stretchHorizontally:"_2FbRDEGS_7eMUcJ0ViOBU0",stretchVertically:"_1rPm-t5ZWwrS-L9l7z66jb",noPadding:"_3J8DeaLq5iw3Ap7qKJkP9B",noBorder:"_3cEQs-K_mShFNDgDP32Wd6",content:"_1VTyfTwVloAcZwYCZyslsJ"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(15);Object.defineProperty(t,"ColorPicker",{enumerable:!0,get:function(){return r.default}})},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(0)),o=r(n(1)),i=n(7),u=r(n(18));t.default=function(e){var t=e.colors,n=e.onSelect,r=e.selectedColor,l=e.direction,d=void 0===l?"vertical":l;return a.default.createElement("div",{className:o.default([u.default.colorPicker,u.default[d]])},t.map((function(e){return a.default.createElement(i.ColorSwatch,{key:e.key,color:e,isSelected:e===r,onClick:function(){return n(e)}})})))}},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(0)),o=r(n(1)),i=r(n(17));t.default=function(e){var t,n=e.color,r=e.onClick,u=e.isSelected,l=void 0!==u&&u;return a.default.createElement("button",{className:o.default([i.default.colorSwatch,(t={},t[i.default.selected]=l,t)]),"data-testid":"color-swatch",disabled:l,onClick:r,style:{backgroundColor:n.hexCode}},a.default.createElement("span",{className:i.default.srOnly},"Select "+n.label+" color"))}},function(e,t,n){e.exports={colorSwatch:"_13ss1xsMNizvEgP_hxEV8B",selected:"L6fAt6RZYz_z3wPbjZExH",srOnly:"_3vJ5mxpzaYsKaxf-8tB31x"}},function(e,t,n){e.exports={colorPicker:"_31FwH_nWr72k3pugApJub9",horizontal:"Qa-BpuTT2kxpmV_AQgCjH",vertical:"_2x4SAnbopyZmkycWLC0EXk"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(20);Object.defineProperty(t,"ConfirmationModal",{enumerable:!0,get:function(){return r.default}})},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(0)),o=r(n(1)),i=n(8),u=r(n(23));function l(e){var t,n=e.children,r=e.header,l=e.isOpen,d=e.buttonsLeft,c=void 0===d?[]:d,f=e.buttonsRight,s=void 0===f?[]:f,p=e.onClose,v=void 0===p?function(){}:p,m=e.noPadding,_=void 0!==m&&m;return a.default.createElement(i.Modal,{isOpen:l,onClose:v},a.default.createElement("div",{className:u.default.container},a.default.createElement("h1",{className:u.default.modalHeader},r),a.default.createElement("div",{className:o.default([u.default.modalContent,(t={},t[u.default.noPadding]=_,t)])},n),a.default.createElement("div",{className:u.default.modalButtonsContainer},a.default.createElement("div",{className:u.default.modalButtons},c),a.default.createElement("div",{className:u.default.modalButtons},s))))}l.displayName="ConfirmationModal",t.default=l},function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.hasOwnProperty.call(e,n)&&r(t,e,n);return a(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var u=o(n(0)),l=n(71),d=i(n(22));t.default=function(e){var t=e.children,n=e.isOpen,r=e.button,a=e.onClose,o=void 0===a?function(){}:a;l.useHotkeys("Escape",o);var i=u.useCallback((function(){o()}),[o]);return n&&u.default.createElement(u.default.Fragment,null,u.default.createElement("div",{className:d.default.overlay,"data-testid":"modal-overlay",onClick:i}),u.default.createElement("div",{className:d.default.modal,"data-testid":"modal"},t),r&&u.default.createElement("div",{className:d.default.modalButton},r))}},function(e,t,n){e.exports={overlay:"_1yxCbQJqStUvytvKEeNC3n",modal:"D8SjBx3ikz636YubnHYAY",modalButton:"o8VRVxMrs1xXavADyxjLG"}},function(e,t,n){e.exports={container:"kkgHoBQhFPsKj_x1ZFdRH",modalHeader:"_1WuvHD-GdXLrtqwa04W1qy",modalContent:"_27eUySQqvq5qloNClIjIST",noPadding:"_2gtBXL9PFSpHsW0A9xd55S",modalButtonsContainer:"_5gIpyF3X5thPQAnsAC4z9",modalButtons:"swsoCii1w4xNl7ioDVkO5"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(25);Object.defineProperty(t,"FloatingPanel",{enumerable:!0,get:function(){return r.default}})},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(0)),o=r(n(1)),i=r(n(26));t.default=function(e){var t,n=e.children,r=e.layout,u=void 0===r?"column":r,l=e.placement,d=void 0===l?{horizontal:"center",vertical:"bottom",parent:"viewport"}:l,c="center"===d.horizontal?"horizontalCenter":d.horizontal,f="center"===d.vertical?"verticalCenter":d.vertical;return a.default.createElement("div",{"data-testid":"floating-panel",className:o.default([i.default.container,i.default[c],i.default[f],i.default[u],(t={},t[i.default.fixed]="container"!==d.parent,t)])},n)}},function(e,t,n){e.exports={container:"a6NHO2CVVCfiniye2XLN-",row:"_3RSgB76rEBniPc2Ycr8Zbv",column:"_1JkX15igclnbm5sRScWVDY",fixed:"MMQ1yjEafWkYFVDHMpTbI",plain:"_3m2M_Narc5xwLay8HJljkc",transparent:"_1rfa49zhZxNifz64Oqb_6P",top:"_kUalnDeEfvzqAji0AMDo",topEdge:"W8JAIwLjO8JQGbviZpPQw",topOnEdge:"_3opJ7Eb6tj394uV8a57ixz",right:"_3-vbwjp0aPcLEV1Sx0ICgP",rightEdge:"_3XNFy5ZoMCoYBIabeGN4BQ",rightOnEdge:"_12c3CzUMQE8AG3AL8Hiki2",bottom:"_3geBENH5oErqGdt-QyHnPh",bottomEdge:"_3_saM4Gs32nRbIHHxIEbF6",bottomOnEdge:"_2PLE4dmGhncgk-lEnoU4kv",left:"_1iSBnyZgPeFUWoM4i6dSpU",leftEdge:"_1fX19qIOShn2o5uusRzTgs",leftOnEdge:"KBHDockuHTEOKMGOzadXi",horizontalCenter:"_31t6tHRJ5s-5DcDLFTKh1m",verticalCenter:"_2hq7fkDXHxrxz2t7LLg4_9"}},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(0)),o=r(n(1)),i=r(n(28));t.default=function(e){var t,n=e.src,r=e.alt,u=e.size,l=void 0===u?"medium":u,d=e.inverted,c=void 0!==d&&d;return a.default.createElement("img",{className:o.default([i.default.icon,i.default[l],(t={},t[i.default.inverted]=c,t)]),crossOrigin:"anonymous","data-testid":"icon",alt:r,src:n})}},function(e,t,n){e.exports={icon:"uh8zkmQp5ybk5WJSla69D",small:"_9DICtqmQSnLPjm1XI7YVs",medium:"sJpxfYgiTz7ik6JOGu1wi",large:"_2rgucAH8Bnli-cmjz9i2C2",inverted:"I-eI5q8rd2bSp9B-FhUza"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(30);Object.defineProperty(t,"IconButton",{enumerable:!0,get:function(){return r.default}})},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(0)),o=r(n(1)),i=n(3),u=r(n(31));t.default=function(e){var t,n=e.className,r=e.src,l=e.alt,d=e.offsetSides,c=void 0===d?[]:d,f=e.onClick,s=void 0===f?function(){}:f,p=e.disabled,v=void 0!==p&&p,m=e.inverted,_=void 0!==m&&m,y=e.noShadow,h=void 0!==y&&y,b=e.noBorder,O=void 0!==b&&b,g=e.transparent,P=void 0!==g&&g,j=e.rounded,E=void 0!==j&&j,w=e.size,k=void 0===w?"medium":w,C=e.type,M=void 0===C?"button":C;return a.default.createElement("button",{className:o.default([u.default.container,u.default[k],(t={},t[u.default.inverted]=_,t[u.default.rounded]=E,t[u.default.noShadow]=h,t[u.default.noBorder]=O,t[u.default.transparent]=P,t[u.default.topOffset]=E&&c.includes("top"),t[u.default.rightOffset]=E&&c.includes("right"),t[u.default.bottomOffset]=E&&c.includes("bottom"),t[u.default.leftOffset]=E&&c.includes("left"),t),n]),disabled:v,onClick:s,type:M,role:"button"},a.default.createElement(i.Icon,{src:r,alt:l,size:k,inverted:_}))}},function(e,t,n){e.exports={container:"_2MPuJ3ApvrAvrewjSWGAA2",small:"lOkoan7dbp-goDtJVuK7B",medium:"_3a9cWts_Y7x3pajk8umN3z",large:"_2aG6zXqTEKVcvBaaniCNBy",rounded:"_2JX034qUTCoTdWC2ppA487",topOffset:"_1wpC-WXgL06QKxtPzOwNRK",rightOffset:"LIzrQC7poQT9jURBqMDKh",bottomOffset:"_2i_w5ULkUK7LVw5hEO97Ew",leftOffset:"_38eKlTQTV1YlnEe1GmNtQk",inverted:"_2NkZ50rkA3eZCysY9FAp-e",noShadow:"_3Uy5HZdvkWf7bilT0wxwVe",noBorder:"_2F4Hy9lq5OCrEpPZPh5xAJ",transparent:"_2u7qTMeE9D5rtcsEcSoAY3"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(33);Object.defineProperty(t,"IconButtonLink",{enumerable:!0,get:function(){return r.default}})},function(e,t,n){"use strict";var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var a in t=arguments[n])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}).apply(this,arguments)},a=this&&this.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var i=o(n(0)),u=o(n(1)),l=n(3),d=o(n(34));t.default=function(e){var t,n=e.as,o=e.className,c=e.src,f=e.alt,s=e.inverted,p=void 0!==s&&s,v=e.noShadow,m=void 0!==v&&v,_=e.noBorder,y=void 0!==_&&_,h=e.transparent,b=void 0!==h&&h,O=e.rounded,g=void 0!==O&&O,P=e.offsetSides,j=void 0===P?[]:P,E=e.size,w=void 0===E?"medium":E,k=a(e,["as","className","src","alt","inverted","noShadow","noBorder","transparent","rounded","offsetSides","size"]);return void 0===n&&(n="a"),i.default.createElement(n,r({"data-testid":"icon-button-link",className:u.default([d.default.container,d.default[w],(t={},t[d.default.inverted]=p,t[d.default.rounded]=g,t[d.default.noShadow]=m,t[d.default.noBorder]=y,t[d.default.transparent]=b,t[d.default.topOffset]=g&&j.includes("top"),t[d.default.rightOffset]=g&&j.includes("right"),t[d.default.bottomOffset]=g&&j.includes("bottom"),t[d.default.leftOffset]=g&&j.includes("left"),t),o])},k),i.default.createElement(l.Icon,{src:c,alt:f,size:w,inverted:p}))}},function(e,t,n){e.exports={container:"_1uifmKNPDzdu5YDnhgwPQK",small:"pfHcYaew-HrHtTNuR4v7h",large:"_26Z9FH-CNPqf55ZRP1vnab",rounded:"_2q7WvROhNm3gsRIRaQQeaU",topOffset:"wZy_vulZkMbWSX0akcZHA",rightOffset:"_2jhhpm60_yPEfxQ-wazj-5",bottomOffset:"DnnrG7ZXmTIhmWUcs99m1",leftOffset:"_1YdCg7T6XjhmxwcjLNSEb-",inverted:"HV0R-lqwmyeqsS1Z8poZS",noShadow:"_1LPpt70Jjim6SfZe35G2kb",noBorder:"RkzSrGixM28JMat6IB5Lr",transparent:"_1KdXfY3Pk6tENYH81tWrps"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(36);Object.defineProperty(t,"Image",{enumerable:!0,get:function(){return r.default}})},function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.hasOwnProperty.call(e,n)&&r(t,e,n);return a(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.emptyImage=void 0;var u=o(n(0)),l=i(n(1)),d=i(n(37));t.emptyImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=",t.default=function(e){var n,r,a=e.src,o=e.alt,i=e.srcWidth,c=e.srcHeight,f=e.children,s=e.animation,p=e.layout,v=void 0===p?"contain":p,m=u.useState(!1),_=m[0],y=m[1],h=u.useRef(null);return u.useEffect((function(){var e=new Image;return e.crossOrigin="anonymous",e.src=a,e.onload=function(){h.current.setAttribute("src",a),y(!0)},function(){delete e.onload,delete e.src,delete e.crossOrigin,e=null}}),[a]),f?u.default.createElement("div",{className:l.default([d.default.container,d.default.hasOverlay])},u.default.createElement("img",{ref:h,className:l.default([d.default.image,d.default[v],(n={},n[d.default.fadeIn]="fadeIn"===s&&_,n[d.default.scaleUp]="scaleUp"===s&&_,n)]),crossOrigin:"anonymous","data-testid":"image",alt:o,src:t.emptyImage,width:i,height:c}),f&&u.default.createElement("div",{className:d.default.overlay},f)):u.default.createElement("img",{ref:h,className:l.default([d.default.image,d.default[v],(r={},r[d.default.fadeIn]="fadeIn"===s&&_,r[d.default.scaleUp]="scaleUp"===s&&_,r)]),crossOrigin:"anonymous","data-testid":"image",alt:o,src:t.emptyImage,width:i,height:c})}},function(e,t,n){e.exports={container:"_3zwln8xpkZwpTY5i6J7bOD",hasOverlay:"_2el8xWqqf3w4S3x0s2D9xl",overlay:"Eg3imfbXdI6U6rfRE0-qO",image:"t1897dfts_pqHzSnwmWBW",cover:"_1-R_HDjO6qNnywcNiS8byD",contain:"_3mDpCjHJ2g66e0w4R2EZkG",stretchHorizontally:"_3yEtH7cqpUlVFaGiWG129w",stretchVertically:"lyiBs6OBxvREnwIR0ls2C",fadeIn:"_2OKJw8Udt916IXmTlT986Y",fadeInAnimation:"NoOVrW466Htk6EpZ1wYiI",scaleUp:"_309VTqjVHpVJHuyAQa_aZi",scaleUpAnimation:"_3icbJre0PJ7MFnXQiCY_q6"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(39);Object.defineProperty(t,"ListView",{enumerable:!0,get:function(){return r.default}});var a=n(41);Object.defineProperty(t,"ListViewItem",{enumerable:!0,get:function(){return a.default}});var o=n(42);Object.defineProperty(t,"ListViewLinkItem",{enumerable:!0,get:function(){return o.default}})},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(0)),o=r(n(1)),i=r(n(40));t.default=function(e){var t=e.children,n=e.className,r=e.header;return a.default.createElement("div",{className:o.default([i.default.container,n])},r&&a.default.createElement("h3",{className:i.default.header},r),a.default.createElement("ul",{className:i.default.list},t))}},function(e,t,n){e.exports={container:"CPHNd8osKjLvQDEQUErux",header:"_1e7hHSVo59e8yQnhc9B6Id",list:"_1w1W8E6_Hzfes3WZTYZaJK"}},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(0)),o=r(n(1)),i=n(6),u=r(n(5));t.default=function(e){var t=e.children,n=e.active,r=void 0!==n&&n,l=e.disabled,d=void 0!==l&&l,c=e.transparent,f=void 0!==c&&c,s=e.noPadding,p=void 0!==s&&s,v=e.size,m=void 0===v?"medium":v,_=e.align,y=void 0===_?"center":_,h=e.onClick,b=void 0===h?function(){}:h;return a.default.createElement("li",{className:o.default([u.default.listViewItem])},a.default.createElement(i.Button,{onClick:b,disabled:d,inverted:r,transparent:f,noPadding:p,align:y,size:m,stretchHorizontally:!0,noShadow:!0,noBorder:!0},t))}},function(e,t,n){"use strict";n.r(t);var r=n(0),a=n.n(r),o=n(2),i=n.n(o),u=n(1),l=n(4),d=n(5),c=n.n(d);function f(){return(f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function s({children:e,active:t,transparent:n,noPadding:r,size:o,align:i,as:d,...s}){return a.a.createElement("li",{className:Object(u.default)([c.a.listViewItem])},a.a.createElement(l.ButtonLink,f({as:d,inverted:t,transparent:n,noPadding:r,align:i,size:o,stretchHorizontally:!0,noShadow:!0,noBorder:!0},s),e))}s.defaultProps={active:!1,transparent:!1,noPadding:!1,size:"medium",align:"center",as:"a"},s.propTypes={children:i.a.node.isRequired,as:i.a.elementType,active:i.a.bool,transparent:i.a.bool,noPadding:i.a.bool,align:i.a.oneOf(["left","center"]),size:i.a.string,onClick:i.a.func},t.default=s},function(e,t,n){"use strict";var r=n(44);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(46);Object.defineProperty(t,"Menu",{enumerable:!0,get:function(){return r.default}});var a=n(48);Object.defineProperty(t,"MenuContainer",{enumerable:!0,get:function(){return a.default}});var o=n(50);Object.defineProperty(t,"MenuItem",{enumerable:!0,get:function(){return o.default}});var i=n(52);Object.defineProperty(t,"MenuLinkItem",{enumerable:!0,get:function(){return i.default}})},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(0)),o=r(n(1)),i=r(n(47));t.default=function(e){var t,n=e.children,r=e.className,u=e.isOpen,l=void 0===u||u,d=e.placement,c=void 0===d?{horizontal:"left",vertical:"bottom"}:d,f=e.header;return a.default.createElement("div",{className:o.default([i.default.menu,i.default[c.horizontal],i.default[c.vertical],(t={},t[i.default.open]=l,t),r])},f&&l&&a.default.createElement("h3",{className:i.default.menuHeader},f),a.default.createElement("ul",null,l&&n))}},function(e,t,n){e.exports={menu:"_2ahi8JcnxGHrnZmD0xT9RL",top:"_3gpFTd1Fdx4EAfq170TGs7",right:"_1L5ATpM9GXy-SORFr0G6S4",left:"CYEJl39TkEfnKal3vtvz9",bottom:"_3zyp-NdTBeBDKvk26psZup",open:"_1iaaziZrVI_-E8D99WdNji",entrance:"_2fiKe4-X8PqcG4_9qeB3ZO",menuHeader:"_19nk1IMNS-u_YIQLlmYRtU"}},function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.hasOwnProperty.call(e,n)&&r(t,e,n);return a(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var u=o(n(0)),l=i(n(1)),d=i(n(49));t.default=u.forwardRef((function(e,t){var n=e.children,r=e.className;return u.default.createElement("div",{ref:t,className:l.default([d.default.menuContainer,r])},n)}))},function(e,t,n){e.exports={menuContainer:"_2-SFwsppEuobBJkAwwQrFC"}},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(0)),o=r(n(1)),i=r(n(51));t.default=function(e){var t,n=e.children,r=e.className,u=e.onClick,l=e.isActive,d=void 0!==l&&l;return a.default.createElement("li",{className:o.default([i.default.menuItem,(t={},t[i.default.active]=d,t),r]),onClick:u},n)}},function(e,t,n){e.exports={menuItem:"_3gGczRJwrNenXTBLQnC29M",active:"_2j1ilUNkbFGSgulXSoHAdP"}},function(e,t,n){"use strict";var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var a in t=arguments[n])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}).apply(this,arguments)},a=this&&this.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var i=o(n(0)),u=o(n(1)),l=o(n(53));t.default=function(e){var t=e.as,n=e.children,o=e.className,d=a(e,["as","children","className"]);return void 0===t&&(t="a"),i.default.createElement(t,r({"data-testid":"menu-link-item",className:u.default([l.default.menuLinkItem,o])},d),n)}},function(e,t,n){e.exports={menuLinkItem:"_2Dy1LTfScGZtSb_5Lud-lU",active:"_2Uws7bj3yejmn1k7XiyKfQ",menuItem:"_2lI7S2t5zWhQsvg_XnQ7--"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(55);Object.defineProperty(t,"Overlay",{enumerable:!0,get:function(){return r.default}})},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(0)),o=r(n(1)),i=r(n(56));t.default=function(e){var t,n=e.children,r=e.transparent,u=void 0!==r&&r,l=e.isFixed,d=void 0!==l&&l,c=e.onClick,f=void 0===c?function(){}:c;return a.default.createElement("div",{"data-testid":"overlay",className:o.default([i.default.overlay,(t={},t[i.default.transparent]=u,t[i.default.fixed]=d,t)]),onClick:f},n)}},function(e,t,n){e.exports={overlay:"_2QgpyrDcUQyKYESC5DXXJr",transparent:"_28fVmoxp69OPr88Ew0zVeN",fixed:"_2sU3515EbFFgeP1yK2Zubz"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(58);Object.defineProperty(t,"TextInput",{enumerable:!0,get:function(){return r.default}})},function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.hasOwnProperty.call(e,n)&&r(t,e,n);return a(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var u=o(n(0)),l=i(n(1)),d=i(n(59));t.default=function(e){var t=e.label,n=e.onChange,r=e.placeholder,a=e.value,o=e.name,i=e.inputRef,c=e.size,f=void 0===c?"medium":c,s=e.autoFocus,p=void 0!==s&&s,v=e.type,m=void 0===v?"text":v,_=u.useCallback((function(e){return n(e.target.value)}),[n]);return u.default.createElement("label",{className:d.default.textLabel},t,u.default.createElement("input",{"data-testid":"input",ref:i,className:l.default([d.default.textInput,d.default[f]]),onChange:i?void 0:_,placeholder:r,name:o,type:m,value:a,autoFocus:p}))}},function(e,t,n){e.exports={textInput:"_2wfqOzWBoAn_K7goqvjXJe",small:"_1a4QOVJB0zW3Urf_5hqNjj",medium:"_3UJoe8nlpzhVTmC09TVso-",large:"_3DQ52Qd_1K4_VxxVv728SX",textLabel:"_31oAAOE_dvGoAz9qJmo8EG"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(61);Object.defineProperty(t,"Toast",{enumerable:!0,get:function(){return r.default}});var a=n(63);Object.defineProperty(t,"ToastContainer",{enumerable:!0,get:function(){return a.default}})},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(0)),o=r(n(1)),i=r(n(62));t.default=function(e){var t=e.children,n=e.image,r=e.buttons,u=e.onClick,l=void 0===u?function(){}:u;return a.default.createElement("div",{className:o.default([i.default.toast]),onClick:l,"data-testid":"toast"},n&&a.default.createElement("img",{"data-testid":"toast-image",className:i.default.toastImage,src:n.src,alt:n.alt}),a.default.createElement("div",{className:i.default.toastContent},t),a.default.createElement("div",{className:i.default.toastButtons},r))}},function(e,t,n){e.exports={toast:"_3sBs_ERXV3k0SQMGUy2Wj4",entrance:"_1_xjtLeUMoEXNA-qOEZhcx",toastContent:"_10lBETCU3UNFR8py1q1q-h",toastImage:"_3Ci0wpObk6oqf7dwkHsFWo",toastButtons:"FEWDnDsP-9A9JHG20qBS5"}},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(0)),o=r(n(1)),i=r(n(64));t.default=function(e){var t=e.children;return a.default.createElement("div",{className:o.default([i.default.toastContainer]),"data-testid":"toast-container"},t)}},function(e,t,n){e.exports={toastContainer:"_3F8cJU1wmKmbrjidg-O3zp"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(66);Object.defineProperty(t,"Video",{enumerable:!0,get:function(){return r.default}})},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(0)),o=r(n(1)),i=r(n(67));t.default=function(e){var t=e.src,n=e.type,r=e.children,u=e.muted,l=void 0===u||u,d=e.loop,c=void 0===d||d,f=e.autoPlay,s=void 0===f||f,p=e.layout,v=void 0===p?"contain":p;return r?a.default.createElement("div",{className:o.default([i.default.container,i.default.hasOverlay])},a.default.createElement("video",{"data-testid":"video",crossOrigin:"anonymous",className:o.default([i.default.video,i.default[v]]),muted:l,loop:c,autoPlay:s,playsInline:!0},a.default.createElement("source",{"data-testid":"source",src:t,type:n})),r&&a.default.createElement("div",{className:i.default.overlay},r)):a.default.createElement("video",{"data-testid":"video",crossOrigin:"anonymous",className:o.default([i.default.video,i.default[v]]),muted:l,loop:c,autoPlay:s,playsInline:!0},a.default.createElement("source",{"data-testid":"source",src:t,type:n}))}},function(e,t,n){e.exports={container:"_2EQBfr5w8h1x1bq-2fp6wT",hasOverlay:"_3GRMpmGk_PqITcUv0Nfmt3",video:"_2tZfXkEhCkwAzfaG_BVn0B",cover:"_3OYHfbzaL3QHanWZBj8RxO",contain:"_3I_c7shcSrtG_FxvvU2IeE",stretchHorizontally:"_1Z7dL9uEd0Ksx3CkrZhsB8",stretchVertically:"_1zbrDYO0fYFJVc7xvsTYi6",overlay:"_2osXd7SkwF0Lh-2yiquYQM"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(69);Object.defineProperty(t,"useToggle",{enumerable:!0,get:function(){return r.default}});var a=n(70);Object.defineProperty(t,"useOutsideClick",{enumerable:!0,get:function(){return a.default}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0);t.default=function(e){void 0===e&&(e=!1);var t=r.useState(e),n=t[0],a=t[1];return[n,r.useCallback((function(e){return a((function(t){return void 0!==e?e:!t}))}),[])]}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0);t.default=function(e){var t=r.useRef();return r.useEffect((function(){var n=function(n){t.current&&!t.current.contains(n.target)&&e(n)};return document.addEventListener("click",n),document.addEventListener("touchstart",n),function(){document.removeEventListener("click",n),document.removeEventListener("touchstart",n)}}),[e]),t}},function(e,t,n){"use strict";n.r(t),n.d(t,"useHotkeys",(function(){return x})),n.d(t,"useIsHotkeyPressed",(function(){return M}));
|
|
2
2
|
/*!
|
|
3
3
|
* hotkeys-js v3.8.1
|
|
4
4
|
* A simple micro-library for defining and dispatching keyboard shortcuts. It has no dependencies.
|
|
@@ -8,5 +8,5 @@
|
|
|
8
8
|
*
|
|
9
9
|
* Licensed under the MIT license.
|
|
10
10
|
*/
|
|
11
|
-
var r="undefined"!=typeof navigator&&navigator.userAgent.toLowerCase().indexOf("firefox")>0;function a(e,t,n){e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent&&e.attachEvent("on".concat(t),(function(){n(window.event)}))}function o(e,t){for(var n=t.slice(0,t.length-1),r=0;r<n.length;r++)n[r]=e[n[r].toLowerCase()];return n}function i(e){"string"!=typeof e&&(e="");for(var t=(e=e.replace(/\s/g,"")).split(","),n=t.lastIndexOf("");n>=0;)t[n-1]+=",",t.splice(n,1),n=t.lastIndexOf("");return t}for(var u={backspace:8,tab:9,clear:12,enter:13,return:13,esc:27,escape:27,space:32,left:37,up:38,right:39,down:40,del:46,delete:46,ins:45,insert:45,home:36,end:35,pageup:33,pagedown:34,capslock:20,"⇪":20,",":188,".":190,"/":191,"`":192,"-":r?173:189,"=":r?61:187,";":r?59:186,"'":222,"[":219,"]":221,"\\":220},l={"⇧":16,shift:16,"⌥":18,alt:18,option:18,"⌃":17,ctrl:17,control:17,"⌘":91,cmd:91,command:91},d={16:"shiftKey",18:"altKey",17:"ctrlKey",91:"metaKey",shiftKey:16,ctrlKey:17,altKey:18,metaKey:91},c={16:!1,18:!1,17:!1,91:!1},f={},s=1;s<20;s++)u["f".concat(s)]=111+s;var
|
|
12
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vL2V4dGVybmFsIFwicmVhY3RcIiIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2xhc3NjYXQvc3JjL2luZGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9wcm9wLXR5cGVzL2luZGV4LmpzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL0ljb24vaW5kZXgudHMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvQnV0dG9uTGluay9pbmRleC50cyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9MaXN0Vmlldy9MaXN0Vmlld0l0ZW0ubW9kdWxlLmNzcz85YTRlIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL0J1dHRvbi9pbmRleC50cyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9Db2xvclN3YXRjaC9pbmRleC50cyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9Nb2RhbC9pbmRleC50cyIsIndlYnBhY2s6Ly8vLi9zcmMvaW5kZXgudHMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvQnV0dG9uL0J1dHRvbi50c3giLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvQnV0dG9uL0J1dHRvbi5tb2R1bGUuY3NzP2NkNDYiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvQnV0dG9uTGluay9CdXR0b25MaW5rLnRzeCIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9CdXR0b25MaW5rL0J1dHRvbkxpbmsubW9kdWxlLmNzcz8wODQxIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL0NvbG9yUGlja2VyL2luZGV4LnRzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL0NvbG9yUGlja2VyL0NvbG9yUGlja2VyLnRzeCIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9Db2xvclN3YXRjaC9Db2xvclN3YXRjaC50c3giLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvQ29sb3JTd2F0Y2gvQ29sb3JTd2F0Y2gubW9kdWxlLmNzcz8yM2ViIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL0NvbG9yUGlja2VyL0NvbG9yUGlja2VyLm1vZHVsZS5jc3M/ZTE4OCIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9Db25maXJtYXRpb25Nb2RhbC9pbmRleC50cyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9Db25maXJtYXRpb25Nb2RhbC9Db25maXJtYXRpb25Nb2RhbC50c3giLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvTW9kYWwvTW9kYWwudHN4Iiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL01vZGFsL01vZGFsLm1vZHVsZS5jc3M/MGVkZiIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9Db25maXJtYXRpb25Nb2RhbC9Db25maXJtYXRpb25Nb2RhbC5tb2R1bGUuY3NzPzI3YjMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvRmxvYXRpbmdQYW5lbC9pbmRleC50cyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9GbG9hdGluZ1BhbmVsL0Zsb2F0aW5nUGFuZWwudHN4Iiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL0Zsb2F0aW5nUGFuZWwvRmxvYXRpbmdQYW5lbC5tb2R1bGUuY3NzPzdhYmYiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvSWNvbi9JY29uLnRzeCIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9JY29uL0ljb24ubW9kdWxlLmNzcz85YjkzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL0ljb25CdXR0b24vaW5kZXgudHMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvSWNvbkJ1dHRvbi9JY29uQnV0dG9uLnRzeCIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9JY29uQnV0dG9uL0ljb25CdXR0b24ubW9kdWxlLmNzcz9kMjhkIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL0ljb25CdXR0b25MaW5rL2luZGV4LnRzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL0ljb25CdXR0b25MaW5rL0ljb25CdXR0b25MaW5rLnRzeCIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9JY29uQnV0dG9uTGluay9JY29uQnV0dG9uTGluay5tb2R1bGUuY3NzP2NjMzciLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvSW1hZ2UvaW5kZXgudHMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvSW1hZ2UvSW1hZ2UudHN4Iiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL0ltYWdlL0ltYWdlLm1vZHVsZS5jc3M/OTVhNyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9MaXN0Vmlldy9pbmRleC50cyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9MaXN0Vmlldy9MaXN0Vmlldy50c3giLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvTGlzdFZpZXcvTGlzdFZpZXcubW9kdWxlLmNzcz80NjRlIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL0xpc3RWaWV3L0xpc3RWaWV3SXRlbS50c3giLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvTGlzdFZpZXcvTGlzdFZpZXdMaW5rSXRlbS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcHJvcC10eXBlcy9mYWN0b3J5V2l0aFRocm93aW5nU2hpbXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Byb3AtdHlwZXMvbGliL1JlYWN0UHJvcFR5cGVzU2VjcmV0LmpzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL01lbnUvaW5kZXgudHMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvTWVudS9NZW51LnRzeCIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9NZW51L01lbnUubW9kdWxlLmNzcz8zNzA5Iiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL01lbnUvTWVudUNvbnRhaW5lci50c3giLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvTWVudS9NZW51Q29udGFpbmVyLm1vZHVsZS5jc3M/OTZkMiIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9NZW51L01lbnVJdGVtLnRzeCIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9NZW51L01lbnVJdGVtLm1vZHVsZS5jc3M/NTA0OSIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9NZW51L01lbnVMaW5rSXRlbS50c3giLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvTWVudS9NZW51TGlua0l0ZW0ubW9kdWxlLmNzcz8wNDI3Iiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL092ZXJsYXkvaW5kZXgudHMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvT3ZlcmxheS9PdmVybGF5LnRzeCIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9PdmVybGF5L092ZXJsYXkubW9kdWxlLmNzcz8yMWM1Iiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL1RleHRJbnB1dC9pbmRleC50cyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9UZXh0SW5wdXQvVGV4dElucHV0LnRzeCIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9UZXh0SW5wdXQvVGV4dElucHV0Lm1vZHVsZS5jc3M/Y2QzNiIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9Ub2FzdC9pbmRleC50cyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9Ub2FzdC9Ub2FzdC50c3giLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvVG9hc3QvVG9hc3QubW9kdWxlLmNzcz9jZjYxIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL1RvYXN0L1RvYXN0Q29udGFpbmVyLnRzeCIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9Ub2FzdC9Ub2FzdENvbnRhaW5lci5tb2R1bGUuY3NzPzlhMzYiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvVmlkZW8vaW5kZXgudHMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvVmlkZW8vVmlkZW8udHN4Iiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL1ZpZGVvL1ZpZGVvLm1vZHVsZS5jc3M/ZTIyMyIsIndlYnBhY2s6Ly8vLi9zcmMvaG9va3MvaW5kZXgudHMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2hvb2tzL3VzZVRvZ2dsZS50cyIsIndlYnBhY2s6Ly8vLi9zcmMvaG9va3MvdXNlT3V0c2lkZUNsaWNrLnRzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ob3RrZXlzLWpzL2Rpc3QvaG90a2V5cy5lc20uanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3JlYWN0LWhvdGtleXMtaG9vay9kaXN0LXdlYi9pbmRleC5qcyJdLCJuYW1lcyI6WyJpbnN0YWxsZWRNb2R1bGVzIiwiX193ZWJwYWNrX3JlcXVpcmVfXyIsIm1vZHVsZUlkIiwiZXhwb3J0cyIsIm1vZHVsZSIsImkiLCJsIiwibW9kdWxlcyIsImNhbGwiLCJtIiwiYyIsImQiLCJuYW1lIiwiZ2V0dGVyIiwibyIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsImdldCIsInIiLCJTeW1ib2wiLCJ0b1N0cmluZ1RhZyIsInZhbHVlIiwidCIsIm1vZGUiLCJfX2VzTW9kdWxlIiwibnMiLCJjcmVhdGUiLCJrZXkiLCJiaW5kIiwibiIsIm9iamVjdCIsInByb3BlcnR5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJwIiwicyIsInJlcXVpcmUiLCJpc0FycmF5IiwiQXJyYXkiLCJjYyIsIm9iaiIsIm91dCIsInRtcCIsImsiLCJsZW5ndGgiLCJkZWZhdWx0IiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJvbkNsaWNrIiwiZGlzYWJsZWQiLCJpbnZlcnRlZCIsInJvdW5kZWQiLCJub1NoYWRvdyIsIm5vUGFkZGluZyIsIm5vQm9yZGVyIiwidHJhbnNwYXJlbnQiLCJzdHJldGNoSG9yaXpvbnRhbGx5Iiwic3RyZXRjaFZlcnRpY2FsbHkiLCJvZmZzZXRTaWRlcyIsImFsaWduIiwic2l6ZSIsInR5cGUiLCJjb250YWluZXIiLCJsZWZ0T2Zmc2V0IiwiaW5jbHVkZXMiLCJyaWdodE9mZnNldCIsInJvbGUiLCJjb250ZW50IiwiQ29tcG9uZW50IiwicHJvcHMiLCJjb2xvcnMiLCJvblNlbGVjdCIsInNlbGVjdGVkQ29sb3IiLCJkaXJlY3Rpb24iLCJjb2xvclBpY2tlciIsIm1hcCIsImNvbG9yIiwiQ29sb3JTd2F0Y2giLCJpc1NlbGVjdGVkIiwiY29sb3JTd2F0Y2giLCJzZWxlY3RlZCIsInN0eWxlIiwiYmFja2dyb3VuZENvbG9yIiwiaGV4Q29kZSIsInNyT25seSIsImxhYmVsIiwiQ29uZmlybWF0aW9uTW9kYWwiLCJoZWFkZXIiLCJpc09wZW4iLCJidXR0b25zTGVmdCIsImJ1dHRvbnNSaWdodCIsIm9uQ2xvc2UiLCJNb2RhbCIsIm1vZGFsSGVhZGVyIiwibW9kYWxDb250ZW50IiwibW9kYWxCdXR0b25zQ29udGFpbmVyIiwibW9kYWxCdXR0b25zIiwiZGlzcGxheU5hbWUiLCJidXR0b24iLCJ1c2VIb3RrZXlzIiwiaGFuZGxlT3ZlcmxheUNsaWNrIiwidXNlQ2FsbGJhY2siLCJvdmVybGF5IiwibW9kYWwiLCJtb2RhbEJ1dHRvbiIsImxheW91dCIsInBsYWNlbWVudCIsImhvcml6b250YWwiLCJ2ZXJ0aWNhbCIsInBhcmVudCIsImhvcml6b250YWxQbGFjZW1lbnQiLCJ2ZXJ0aWNhbFBsYWNlbWVudCIsImZpeGVkIiwic3JjIiwiYWx0IiwiaWNvbiIsImNyb3NzT3JpZ2luIiwidG9wT2Zmc2V0IiwiYm90dG9tT2Zmc2V0IiwiSWNvbiIsInNyY1dpZHRoIiwic3JjSGVpZ2h0IiwiaGFzT3ZlcmxheSIsImltYWdlIiwid2lkdGgiLCJoZWlnaHQiLCJsaXN0IiwiYWN0aXZlIiwibGlzdFZpZXdJdGVtIiwiQnV0dG9uIiwiTGlzdFZpZXdMaW5rSXRlbSIsImFzIiwiY2xhc3NjYXQiLCJzdHlsZXMiLCJkZWZhdWx0UHJvcHMiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJub2RlIiwiaXNSZXF1aXJlZCIsImVsZW1lbnRUeXBlIiwiYm9vbCIsIm9uZU9mIiwic3RyaW5nIiwiZnVuYyIsIlJlYWN0UHJvcFR5cGVzU2VjcmV0IiwiZW1wdHlGdW5jdGlvbiIsImVtcHR5RnVuY3Rpb25XaXRoUmVzZXQiLCJyZXNldFdhcm5pbmdDYWNoZSIsInNoaW0iLCJwcm9wTmFtZSIsImNvbXBvbmVudE5hbWUiLCJsb2NhdGlvbiIsInByb3BGdWxsTmFtZSIsInNlY3JldCIsImVyciIsIkVycm9yIiwiZ2V0U2hpbSIsIlJlYWN0UHJvcFR5cGVzIiwiYXJyYXkiLCJudW1iZXIiLCJzeW1ib2wiLCJhbnkiLCJhcnJheU9mIiwiZWxlbWVudCIsImluc3RhbmNlT2YiLCJvYmplY3RPZiIsIm9uZU9mVHlwZSIsInNoYXBlIiwiZXhhY3QiLCJjaGVja1Byb3BUeXBlcyIsIm1lbnUiLCJvcGVuIiwibWVudUhlYWRlciIsImZvcndhcmRSZWYiLCJyZWYiLCJtZW51Q29udGFpbmVyIiwiaXNBY3RpdmUiLCJtZW51SXRlbSIsIm1lbnVMaW5rSXRlbSIsImlzRml4ZWQiLCJvbkNoYW5nZSIsInBsYWNlaG9sZGVyIiwiaW5wdXRSZWYiLCJhdXRvRm9jdXMiLCJoYW5kbGVDaGFuZ2UiLCJlIiwidGFyZ2V0IiwidGV4dExhYmVsIiwidGV4dElucHV0IiwidW5kZWZpbmVkIiwiYnV0dG9ucyIsInRvYXN0IiwidG9hc3RJbWFnZSIsInRvYXN0Q29udGVudCIsInRvYXN0QnV0dG9ucyIsInRvYXN0Q29udGFpbmVyIiwibXV0ZWQiLCJsb29wIiwiYXV0b1BsYXkiLCJ2aWRlbyIsInBsYXlzSW5saW5lIiwiaW5pdGlhbFZhbHVlIiwidXNlU3RhdGUiLCJzZXRWYWx1ZSIsIm5ld1ZhbHVlIiwicHJldlZhbHVlIiwiY2FsbGJhY2siLCJ1c2VSZWYiLCJ1c2VFZmZlY3QiLCJoYW5kbGVDbGljayIsImV2ZW50IiwiY3VycmVudCIsImNvbnRhaW5zIiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImlzZmYiLCJuYXZpZ2F0b3IiLCJ1c2VyQWdlbnQiLCJ0b0xvd2VyQ2FzZSIsImluZGV4T2YiLCJhZGRFdmVudCIsIm1ldGhvZCIsImF0dGFjaEV2ZW50IiwiY29uY2F0Iiwid2luZG93IiwiZ2V0TW9kcyIsIm1vZGlmaWVyIiwibW9kcyIsInNsaWNlIiwiZ2V0S2V5cyIsImtleXMiLCJyZXBsYWNlIiwic3BsaXQiLCJpbmRleCIsImxhc3RJbmRleE9mIiwic3BsaWNlIiwiX2tleU1hcCIsImJhY2tzcGFjZSIsInRhYiIsImNsZWFyIiwiZW50ZXIiLCJyZXR1cm4iLCJlc2MiLCJlc2NhcGUiLCJzcGFjZSIsImxlZnQiLCJ1cCIsInJpZ2h0IiwiZG93biIsImRlbCIsImRlbGV0ZSIsImlucyIsImluc2VydCIsImhvbWUiLCJlbmQiLCJwYWdldXAiLCJwYWdlZG93biIsImNhcHNsb2NrIiwiJyIsIl9tb2RpZmllciIsInNoaWZ0Iiwib3B0aW9uIiwiY3RybCIsImNvbnRyb2wiLCJjbWQiLCJjb21tYW5kIiwibW9kaWZpZXJNYXAiLCIxNiIsIjE4IiwiMTciLCI5MSIsInNoaWZ0S2V5IiwiY3RybEtleSIsImFsdEtleSIsIm1ldGFLZXkiLCJfbW9kcyIsIl9oYW5kbGVycyIsIl9kb3duS2V5cyIsIl9zY29wZSIsImVsZW1lbnRIYXNCaW5kRXZlbnQiLCJjb2RlIiwieCIsInRvVXBwZXJDYXNlIiwiY2hhckNvZGVBdCIsInNldFNjb3BlIiwic2NvcGUiLCJnZXRTY29wZSIsImVhY2hVbmJpbmQiLCJfcmVmIiwiX3JlZiRzcGxpdEtleSIsInNwbGl0S2V5IiwiZm9yRWFjaCIsIm9yaWdpbktleSIsInVuYmluZEtleXMiLCJsZW4iLCJsYXN0S2V5Iiwia2V5Q29kZSIsInJlY29yZCIsImExIiwiYTIiLCJhcnIxIiwiYXJyMiIsImlzSW5kZXgiLCJjb21wYXJlQXJyYXkiLCJldmVudEhhbmRsZXIiLCJoYW5kbGVyIiwibW9kaWZpZXJzTWF0Y2giLCJ5Iiwic2hvcnRjdXQiLCJwcmV2ZW50RGVmYXVsdCIsInJldHVyblZhbHVlIiwic3RvcFByb3BhZ2F0aW9uIiwiY2FuY2VsQnViYmxlIiwiZGlzcGF0Y2giLCJhc3RlcmlzayIsIndoaWNoIiwiY2hhckNvZGUiLCJob3RrZXlzIiwiZmlsdGVyIiwidGhpcyIsInB1c2giLCJrZXlOYW1lIiwia2V5TnVtIiwiZ2V0TW9kaWZpZXJTdGF0ZSIsImtleWRvd24iLCJrZXl1cCIsIl9pIiwia2V5U2hvcnRjdXQiLCJfZG93bktleXNDdXJyZW50IiwiYSIsInNvcnQiLCJqb2luIiwidG9TdHJpbmciLCJpc0VsZW1lbnRCaW5kIiwiY2xlYXJNb2RpZmllciIsIl9hcGkiLCJkZWxldGVTY29wZSIsIm5ld1Njb3BlIiwiaGFuZGxlcnMiLCJnZXRQcmVzc2VkS2V5Q29kZXMiLCJpc1ByZXNzZWQiLCJzcmNFbGVtZW50IiwidGFnTmFtZSIsImZsYWciLCJpc0NvbnRlbnRFZGl0YWJsZSIsInJlYWRPbmx5IiwidW5iaW5kIiwia2V5c0luZm8iLCJpbmZvIiwiX2xlbiIsImFyZ3VtZW50cyIsImFyZ3MiLCJfa2V5IiwiX2hvdGtleXMiLCJub0NvbmZsaWN0IiwiZGVlcCIsInVzZUlzSG90a2V5UHJlc3NlZCIsIm9wdGlvbnMiLCJkZXBzIiwiZW5hYmxlT25UYWdzIiwibWVtb2lzZWRDYWxsYmFjayIsImtleWJvYXJkRXZlbnQiLCJob3RrZXlzRXZlbnQiLCJhY3RpdmVFbGVtZW50IiwidGFyZ2V0VGFnTmFtZSIsIkJvb2xlYW4iXSwibWFwcGluZ3MiOiI2REFDRSxJQUFJQSxFQUFtQixHQUd2QixTQUFTQyxFQUFvQkMsR0FHNUIsR0FBR0YsRUFBaUJFLEdBQ25CLE9BQU9GLEVBQWlCRSxHQUFVQyxRQUduQyxJQUFJ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YUFBRTJLLEVBQVksT0FBRXpDLEdBQVd1QyxHQUFXLEdBQ3RDeEwsRUFBTSxpQkFBTyxNQUNiMkwsRUFBbUIsc0JBQVksQ0FBQ0MsRUFBZUMsS0FDN0IsT0FBaEI3TCxFQUFJcUMsU0FBb0JFLFNBQVN1SixnQkFBa0I5TCxFQUFJcUMsV0FDdkRMLEVBQVM0SixFQUFlQyxJQUNqQixHQUdaSixFQUFPLENBQUN6TCxLQUFReUwsR0FBUSxDQUFDekwsSUFjNUIsT0FiQSxvQkFBVSxLQUNGd0wsR0FBV0EsRUFBUUUsZUFDbkIsRUFBUXpDLE9BQVMsRUFBR3JJLFNBQVE0SixpQkFFeEIsTUFBTXVCLEVBQWlCbkwsR0FBVUEsRUFBTzZKLFNBQWFELEdBQWNBLEVBQVdDLFFBQzlFLE9BQU91QixRQUFRRCxHQUFpQkwsR0FBZ0JBLEVBQWF4UyxTQUFTNlMsTUFHMUU5QyxJQUNBLEVBQVFBLE9BQVNBLEdBQ3JCLEVBQVF4RixFQUFNK0gsR0FBVyxHQUFJRyxHQUN0QixJQUFNLEVBQVFkLE9BQU9wSCxFQUFNa0ksSUFDbkMsQ0FBQ0EsRUFBa0JILEVBQVNFLEVBQWN6QyxFQUFReEYsSUFDOUN6RCIsImZpbGUiOiJpbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIiBcdC8vIFRoZSBtb2R1bGUgY2FjaGVcbiBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG5cbiBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cbiBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKSB7XG4gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG4gXHRcdH1cbiBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbiBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuIFx0XHRcdGk6IG1vZHVsZUlkLFxuIFx0XHRcdGw6IGZhbHNlLFxuIFx0XHRcdGV4cG9ydHM6IHt9XG4gXHRcdH07XG5cbiBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG4gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbiBcdFx0bW9kdWxlLmwgPSB0cnVlO1xuXG4gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbiBcdH1cblxuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbiBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG5cbiBcdC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kID0gZnVuY3Rpb24oZXhwb3J0cywgbmFtZSwgZ2V0dGVyKSB7XG4gXHRcdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywgbmFtZSkpIHtcbiBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbmFtZSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGdldHRlciB9KTtcbiBcdFx0fVxuIFx0fTtcblxuIFx0Ly8gZGVmaW5lIF9fZXNNb2R1bGUgb24gZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5yID0gZnVuY3Rpb24oZXhwb3J0cykge1xuIFx0XHRpZih0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiBTeW1ib2wudG9TdHJpbmdUYWcpIHtcbiBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KTtcbiBcdFx0fVxuIFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuIFx0fTtcblxuIFx0Ly8gY3JlYXRlIGEgZmFrZSBuYW1lc3BhY2Ugb2JqZWN0XG4gXHQvLyBtb2RlICYgMTogdmFsdWUgaXMgYSBtb2R1bGUgaWQsIHJlcXVpcmUgaXRcbiBcdC8vIG1vZGUgJiAyOiBtZXJnZSBhbGwgcHJvcGVydGllcyBvZiB2YWx1ZSBpbnRvIHRoZSBuc1xuIFx0Ly8gbW9kZSAmIDQ6IHJldHVybiB2YWx1ZSB3aGVuIGFscmVhZHkgbnMgb2JqZWN0XG4gXHQvLyBtb2RlICYgOHwxOiBiZWhhdmUgbGlrZSByZXF1aXJlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnQgPSBmdW5jdGlvbih2YWx1ZSwgbW9kZSkge1xuIFx0XHRpZihtb2RlICYgMSkgdmFsdWUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKHZhbHVlKTtcbiBcdFx0aWYobW9kZSAmIDgpIHJldHVybiB2YWx1ZTtcbiBcdFx0aWYoKG1vZGUgJiA0KSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICYmIHZhbHVlLl9fZXNNb2R1bGUpIHJldHVybiB2YWx1ZTtcbiBcdFx0dmFyIG5zID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5yKG5zKTtcbiBcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KG5zLCAnZGVmYXVsdCcsIHsgZW51bWVyYWJsZTogdHJ1ZSwgdmFsdWU6IHZhbHVlIH0pO1xuIFx0XHRpZihtb2RlICYgMiAmJiB0eXBlb2YgdmFsdWUgIT0gJ3N0cmluZycpIGZvcih2YXIga2V5IGluIHZhbHVlKSBfX3dlYnBhY2tfcmVxdWlyZV9fLmQobnMsIGtleSwgZnVuY3Rpb24oa2V5KSB7IHJldHVybiB2YWx1ZVtrZXldOyB9LmJpbmQobnVsbCwga2V5KSk7XG4gXHRcdHJldHVybiBucztcbiBcdH07XG5cbiBcdC8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbiBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0RGVmYXVsdCgpIHsgcmV0dXJuIG1vZHVsZVsnZGVmYXVsdCddOyB9IDpcbiBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4gXHRcdHJldHVybiBnZXR0ZXI7XG4gXHR9O1xuXG4gXHQvLyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGxcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcblxuIFx0Ly8gX193ZWJwYWNrX3B1YmxpY19wYXRoX19cbiBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiXCI7XG5cblxuIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSA5KTtcbiIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcInJlYWN0XCIpOyIsInZhciBpc0FycmF5ID0gQXJyYXkuaXNBcnJheVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjYyhvYmopIHtcbiAgdmFyIG91dCA9IFwiXCJcblxuICBpZiAodHlwZW9mIG9iaiA9PT0gXCJzdHJpbmdcIiB8fCB0eXBlb2Ygb2JqID09PSBcIm51bWJlclwiKSByZXR1cm4gb2JqIHx8IFwiXCJcblxuICBpZiAoaXNBcnJheShvYmopKVxuICAgIGZvciAodmFyIGsgPSAwLCB0bXA7IGsgPCBvYmoubGVuZ3RoOyBrKyspIHtcbiAgICAgIGlmICgodG1wID0gY2Mob2JqW2tdKSkgIT09IFwiXCIpIHtcbiAgICAgICAgb3V0ICs9IChvdXQgJiYgXCIgXCIpICsgdG1wXG4gICAgICB9XG4gICAgfVxuICBlbHNlXG4gICAgZm9yICh2YXIgayBpbiBvYmopIHtcbiAgICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkoaykgJiYgb2JqW2tdKSBvdXQgKz0gKG91dCAmJiBcIiBcIikgKyBrXG4gICAgfVxuXG4gIHJldHVybiBvdXRcbn1cbiIsIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgdmFyIFJlYWN0SXMgPSByZXF1aXJlKCdyZWFjdC1pcycpO1xuXG4gIC8vIEJ5IGV4cGxpY2l0bHkgdXNpbmcgYHByb3AtdHlwZXNgIHlvdSBhcmUgb3B0aW5nIGludG8gbmV3IGRldmVsb3BtZW50IGJlaGF2aW9yLlxuICAvLyBodHRwOi8vZmIubWUvcHJvcC10eXBlcy1pbi1wcm9kXG4gIHZhciB0aHJvd09uRGlyZWN0QWNjZXNzID0gdHJ1ZTtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2ZhY3RvcnlXaXRoVHlwZUNoZWNrZXJzJykoUmVhY3RJcy5pc0VsZW1lbnQsIHRocm93T25EaXJlY3RBY2Nlc3MpO1xufSBlbHNlIHtcbiAgLy8gQnkgZXhwbGljaXRseSB1c2luZyBgcHJvcC10eXBlc2AgeW91IGFyZSBvcHRpbmcgaW50byBuZXcgcHJvZHVjdGlvbiBiZWhhdmlvci5cbiAgLy8gaHR0cDovL2ZiLm1lL3Byb3AtdHlwZXMtaW4tcHJvZFxuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vZmFjdG9yeVdpdGhUaHJvd2luZ1NoaW1zJykoKTtcbn1cbiIsImV4cG9ydCB7IGRlZmF1bHQgYXMgSWNvbiB9IGZyb20gXCIuL0ljb25cIjtcbiIsImV4cG9ydCB7IGRlZmF1bHQgYXMgQnV0dG9uTGluayB9IGZyb20gXCIuL0J1dHRvbkxpbmtcIjtcbiIsIi8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpblxubW9kdWxlLmV4cG9ydHMgPSB7XCJsaXN0Vmlld0l0ZW1cIjpcIl8yTGdqcUFCd2pIdHBiR3prUVFrcWlRXCJ9OyIsImV4cG9ydCB7IGRlZmF1bHQgYXMgQnV0dG9uIH0gZnJvbSBcIi4vQnV0dG9uXCI7XG4iLCJleHBvcnQgeyBkZWZhdWx0IGFzIENvbG9yU3dhdGNoIH0gZnJvbSBcIi4vQ29sb3JTd2F0Y2hcIjtcbiIsImV4cG9ydCB7IGRlZmF1bHQgYXMgTW9kYWwgfSBmcm9tIFwiLi9Nb2RhbFwiO1xuIiwiZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9CdXR0b25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvQnV0dG9uTGlua1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9Db2xvclBpY2tlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9Db2xvclN3YXRjaFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9Db25maXJtYXRpb25Nb2RhbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9GbG9hdGluZ1BhbmVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL0ljb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvSWNvbkJ1dHRvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9JY29uQnV0dG9uTGlua1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9JbWFnZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9MaXN0Vmlld1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9NZW51XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL01vZGFsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL092ZXJsYXlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvVGV4dElucHV0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL1RvYXN0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL1ZpZGVvXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ob29rc1wiO1xuIiwiaW1wb3J0IFJlYWN0LCB7IFJlYWN0Tm9kZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGNsYXNzY2F0IGZyb20gXCJjbGFzc2NhdFwiO1xuXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL0J1dHRvbi5tb2R1bGUuY3NzXCI7XG5pbXBvcnQgeyBTaXplIH0gZnJvbSBcIi4uLy4uL3R5cGVzXCI7XG5cbnR5cGUgQnV0dG9uUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBpbnZlcnRlZD86IGJvb2xlYW47XG4gIHJvdW5kZWQ/OiBib29sZWFuO1xuICBub1NoYWRvdz86IGJvb2xlYW47XG4gIG5vUGFkZGluZz86IGJvb2xlYW47XG4gIG5vQm9yZGVyPzogYm9vbGVhbjtcbiAgdHJhbnNwYXJlbnQ/OiBib29sZWFuO1xuICBzdHJldGNoSG9yaXpvbnRhbGx5PzogYm9vbGVhbjtcbiAgc3RyZXRjaFZlcnRpY2FsbHk/OiBib29sZWFuO1xuICBvbkNsaWNrPzogKGV2ZW50OiBSZWFjdC5TeW50aGV0aWNFdmVudCkgPT4gdm9pZDtcbiAgc2l6ZT86IFNpemUsXG4gIHR5cGU/OiBcInN1Ym1pdFwiIHwgXCJyZXNldFwiIHwgXCJidXR0b25cIixcbiAgYWxpZ24/OiBcImxlZnRcIiB8IFwiY2VudGVyXCIsXG4gIG9mZnNldFNpZGVzPzogQXJyYXk8XCJsZWZ0XCIgfCBcInJpZ2h0XCI+LFxufVxuXG5mdW5jdGlvbiBCdXR0b24oe1xuICBjaGlsZHJlbixcbiAgY2xhc3NOYW1lLFxuICBvbkNsaWNrLFxuICBkaXNhYmxlZCA9IGZhbHNlLFxuICBpbnZlcnRlZCA9IGZhbHNlLFxuICByb3VuZGVkID0gZmFsc2UsXG4gIG5vU2hhZG93ID0gZmFsc2UsXG4gIG5vUGFkZGluZyA9IGZhbHNlLFxuICBub0JvcmRlciA9IGZhbHNlLFxuICB0cmFuc3BhcmVudCA9IGZhbHNlLFxuICBzdHJldGNoSG9yaXpvbnRhbGx5ID0gZmFsc2UsXG4gIHN0cmV0Y2hWZXJ0aWNhbGx5ID0gZmFsc2UsXG4gIG9mZnNldFNpZGVzID0gW10sXG4gIGFsaWduID0gXCJjZW50ZXJcIixcbiAgc2l6ZSA9IFwibWVkaXVtXCIsXG4gIHR5cGUsXG59OiBCdXR0b25Qcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NjYXQoW1xuICAgICAgICBzdHlsZXMuY29udGFpbmVyLFxuICAgICAgICBzdHlsZXNbc2l6ZV0sXG4gICAgICAgIHN0eWxlc1thbGlnbl0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzLmludmVydGVkXTogaW52ZXJ0ZWQsXG4gICAgICAgICAgW3N0eWxlcy5yb3VuZGVkXTogcm91bmRlZCxcbiAgICAgICAgICBbc3R5bGVzLm5vU2hhZG93XTogbm9TaGFkb3csXG4gICAgICAgICAgW3N0eWxlcy5ub1BhZGRpbmddOiBub1BhZGRpbmcsXG4gICAgICAgICAgW3N0eWxlcy5ub0JvcmRlcl06IG5vQm9yZGVyLFxuICAgICAgICAgIFtzdHlsZXMudHJhbnNwYXJlbnRdOiB0cmFuc3BhcmVudCxcbiAgICAgICAgICBbc3R5bGVzLnN0cmV0Y2hIb3Jpem9udGFsbHldOiBzdHJldGNoSG9yaXpvbnRhbGx5LFxuICAgICAgICAgIFtzdHlsZXMuc3RyZXRjaFZlcnRpY2FsbHldOiBzdHJldGNoVmVydGljYWxseSxcbiAgICAgICAgICBbc3R5bGVzLmxlZnRPZmZzZXRdOiByb3VuZGVkICYmIG9mZnNldFNpZGVzLmluY2x1ZGVzKFwibGVmdFwiKSxcbiAgICAgICAgICBbc3R5bGVzLnJpZ2h0T2Zmc2V0XTogcm91bmRlZCAmJiBvZmZzZXRTaWRlcy5pbmNsdWRlcyhcInJpZ2h0XCIpLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWUsXG4gICAgICBdKX1cbiAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgICB0eXBlPXt0eXBlfVxuICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgPlxuICAgICAge3R5cGVvZiBjaGlsZHJlbiAhPT0gXCJzdHJpbmdcIiAmJiBBcnJheS5pc0FycmF5KGNoaWxkcmVuKSAmJiBjaGlsZHJlbi5sZW5ndGggID8gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLmNvbnRlbnR9PntjaGlsZHJlbn08L2Rpdj5cbiAgICAgICkgOiBjaGlsZHJlbn1cbiAgICA8L2J1dHRvbj5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgQnV0dG9uO1xuIiwiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luXG5tb2R1bGUuZXhwb3J0cyA9IHtcImNvbnRhaW5lclwiOlwiTTlfZWdFQzhtc3UxMzVvUEdWZElmXCIsXCJsZWZ0XCI6XCJSU1JiVGc4WWM0LXM4azZxVV92Q2dcIixcInNtYWxsXCI6XCJfMWJOUWhiWndMQThFckxtd2RRaXRKZVwiLFwibGFyZ2VcIjpcIl8yRHdMRkQtNGdEejlIRUFBaXdXSlBxXCIsXCJpbnZlcnRlZFwiOlwiXzMxQ2ZtVFVZcEVoMWhadmN0UTlsSzRcIixcInJvdW5kZWRcIjpcIl8yYnEzMXFLRDdCNnI2Q1RDT0wzZHJXXCIsXCJyaWdodE9mZnNldFwiOlwiXzJlVUNXUU1FVE9naVh1aWI3WGZUaFpcIixcImxlZnRPZmZzZXRcIjpcIkc4b19PTURVRnNFUTF5dFU3b1VZR1wiLFwibm9TaGFkb3dcIjpcIl8ydmtuaFVGQUlHbWpYczd0Z2tBQzdJXCIsXCJub0JvcmRlclwiOlwiXzJwMEdwZG1QS0lGQ1VlczU4NFlIZVZcIixcInRyYW5zcGFyZW50XCI6XCJfOHZNbFNSSF85SG9SR0poOFN3a2FcIixcInN0cmV0Y2hIb3Jpem9udGFsbHlcIjpcIm5aOXJPWnd6R1hWSTNheVJnQTNRQ1wiLFwic3RyZXRjaFZlcnRpY2FsbHlcIjpcIl8xeThpZmI5NXNwVExXR0Ftc2J3MVIyXCIsXCJub1BhZGRpbmdcIjpcIl8zY080OUpFTE5LdEd5YUZ4UmxzaHlPXCIsXCJjb250ZW50XCI6XCJvOGQ3WW9UODN1bWVQUFNGekszMVlcIn07IiwiaW1wb3J0IFJlYWN0LCB7IFJlYWN0Tm9kZSwgUmVhY3RUeXBlLCBBbmNob3JIVE1MQXR0cmlidXRlcyB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGNsYXNzY2F0IGZyb20gXCJjbGFzc2NhdFwiO1xuXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL0J1dHRvbkxpbmsubW9kdWxlLmNzc1wiO1xuaW1wb3J0IHsgU2l6ZSB9IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuXG50eXBlIE9mZnNldFNpZGUgPSBcImxlZnRcIiB8IFwicmlnaHRcIjtcblxudHlwZSBCdXR0b25MaW5rUHJvcHMgPSB7XG4gIGFzPzogUmVhY3RUeXBlO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIGludmVydGVkPzogYm9vbGVhbjtcbiAgcm91bmRlZD86IGJvb2xlYW47XG4gIHRyYW5zcGFyZW50PzogYm9vbGVhbjtcbiAgbm9TaGFkb3c/OiBib29sZWFuO1xuICBub1BhZGRpbmc/OiBib29sZWFuO1xuICBub0JvcmRlcj86IGJvb2xlYW47XG4gIHN0cmV0Y2hIb3Jpem9udGFsbHk/OiBib29sZWFuO1xuICBzdHJldGNoVmVydGljYWxseT86IGJvb2xlYW47XG4gIHNpemU/OiBTaXplO1xuICBvZmZzZXRTaWRlcz86IEFycmF5PE9mZnNldFNpZGU+O1xuICBhbGlnbj86IFwibGVmdFwiIHwgXCJjZW50ZXJcIjtcbn0gfCBhbnk7XG5cbmZ1bmN0aW9uIEJ1dHRvbkxpbmsoe1xuICBhczogQ29tcG9uZW50LFxuICBjaGlsZHJlbixcbiAgY2xhc3NOYW1lLFxuICBzaXplLFxuICBpbnZlcnRlZCA9IGZhbHNlLFxuICByb3VuZGVkID0gZmFsc2UsXG4gIHRyYW5zcGFyZW50ID0gZmFsc2UsXG4gIG5vU2hhZG93ID0gZmFsc2UsXG4gIG5vUGFkZGluZyA9IGZhbHNlLFxuICBub0JvcmRlciA9IGZhbHNlLFxuICBzdHJldGNoSG9yaXpvbnRhbGx5ID0gZmFsc2UsXG4gIHN0cmV0Y2hWZXJ0aWNhbGx5ID0gZmFsc2UsXG4gIG9mZnNldFNpZGVzID0gW10sXG4gIGFsaWduID0gXCJjZW50ZXJcIixcbiAgLi4ucHJvcHNcbn06IEJ1dHRvbkxpbmtQcm9wcykge1xuICBpZiAodHlwZW9mIENvbXBvbmVudCA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgIENvbXBvbmVudCA9IFwiYVwiO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8Q29tcG9uZW50XG4gICAgICBkYXRhLXRlc3RpZD1cImJ1dHRvbi1saW5rXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NjYXQoW1xuICAgICAgICBzdHlsZXMuY29udGFpbmVyLFxuICAgICAgICBzdHlsZXNbc2l6ZV0sXG4gICAgICAgIHN0eWxlc1thbGlnbl0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzLmludmVydGVkXTogaW52ZXJ0ZWQsXG4gICAgICAgICAgW3N0eWxlcy5yb3VuZGVkXTogcm91bmRlZCxcbiAgICAgICAgICBbc3R5bGVzLm5vU2hhZG93XTogbm9TaGFkb3csXG4gICAgICAgICAgW3N0eWxlcy5ub1BhZGRpbmddOiBub1BhZGRpbmcsXG4gICAgICAgICAgW3N0eWxlcy5ub0JvcmRlcl06IG5vQm9yZGVyLFxuICAgICAgICAgIFtzdHlsZXMudHJhbnNwYXJlbnRdOiB0cmFuc3BhcmVudCxcbiAgICAgICAgICBbc3R5bGVzLnN0cmV0Y2hIb3Jpem9udGFsbHldOiBzdHJldGNoSG9yaXpvbnRhbGx5LFxuICAgICAgICAgIFtzdHlsZXMuc3RyZXRjaFZlcnRpY2FsbHldOiBzdHJldGNoVmVydGljYWxseSxcbiAgICAgICAgICBbc3R5bGVzLmxlZnRPZmZzZXRdOiByb3VuZGVkICYmIG9mZnNldFNpZGVzLmluY2x1ZGVzKFwibGVmdFwiKSxcbiAgICAgICAgICBbc3R5bGVzLnJpZ2h0T2Zmc2V0XTogcm91bmRlZCAmJiBvZmZzZXRTaWRlcy5pbmNsdWRlcyhcInJpZ2h0XCIpLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWUsXG4gICAgICBdKX1cbiAgICAgIHsuLi5wcm9wc31cbiAgICA+XG4gICAgICB7dHlwZW9mIGNoaWxkcmVuICE9PSBcInN0cmluZ1wiICYmIEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pICYmIGNoaWxkcmVuLmxlbmd0aCAgPyAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuY29udGVudH0+e2NoaWxkcmVufTwvZGl2PlxuICAgICAgKSA6IChcbiAgICAgICAgY2hpbGRyZW5cbiAgICAgICl9XG4gICAgPC9Db21wb25lbnQ+XG4gICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IEJ1dHRvbkxpbms7XG4iLCIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW5cbm1vZHVsZS5leHBvcnRzID0ge1wiY29udGFpbmVyXCI6XCJfM2VWQmdta0c2aGpWb2ttNVh5NFVNUVwiLFwibGVmdFwiOlwiXzNGNmhNRVFrSmd5d1VrdDFmd21Uc3lcIixcInNtYWxsXCI6XCJfOEk5ZmhuemJNdkNybDVLUGo5ZjBcIixcIm1lZGl1bVwiOlwiY3NqNFBLUWdkUEJlRjdSZDVaLVdRXCIsXCJsYXJnZVwiOlwiXzNfU3dxbURXT0d2ODc3aUhBQ25KcENcIixcImludmVydGVkXCI6XCJfMXhPYTNDQlJIelBDUldOc2lKNjVhQ1wiLFwicm91bmRlZFwiOlwiXzNVR2xPSXR6S29rVmcwd0dIMGVJbFhcIixcInJpZ2h0T2Zmc2V0XCI6XCJfMTN0UHNwNmRmQTFUd2IxTU1IUmlHVFwiLFwibGVmdE9mZnNldFwiOlwiTkk1bjZiRVZSQ1FQeTZBT0FzUTFxXCIsXCJub1NoYWRvd1wiOlwiZ0lZOWl1dkMyVld4Y3Z3d0NtYUpKXCIsXCJ0cmFuc3BhcmVudFwiOlwiXzNYZmxoM1ExQVpuVE9EMGN0cXVJNndcIixcInN0cmV0Y2hIb3Jpem9udGFsbHlcIjpcIl8yRmJSREVHU183ZU1VY0owVmlPQlUwXCIsXCJzdHJldGNoVmVydGljYWxseVwiOlwiXzFyUG0tdDVaV3dyUy1MOWw3ejY2amJcIixcIm5vUGFkZGluZ1wiOlwiXzNKOERlYUxxNWl3M0FwN3FLSmtQOUJcIixcIm5vQm9yZGVyXCI6XCJfM2NFUXMtS19tU2hGTkRnRFAzMldkNlwiLFwiY29udGVudFwiOlwiXzFWVHlmVHdWbG9BY1p3WUNaeXNsc0pcIn07IiwiZXhwb3J0IHsgZGVmYXVsdCBhcyBDb2xvclBpY2tlciB9IGZyb20gXCIuL0NvbG9yUGlja2VyXCI7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgY2xhc3NjYXQgZnJvbSBcImNsYXNzY2F0XCI7XG5cbmltcG9ydCB7IENvbG9yU3dhdGNoIH0gZnJvbSBcIi4uL0NvbG9yU3dhdGNoXCI7XG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL0NvbG9yUGlja2VyLm1vZHVsZS5jc3NcIjtcbmltcG9ydCB7IENvbG9yIH0gZnJvbSBcIi4uLy4uL3R5cGVzXCI7XG5cbnR5cGUgQ29sb3JQaWNrZXJQcm9wcyA9IHtcbiAgZGlyZWN0aW9uPzogXCJob3Jpem9udGFsXCIgfCBcInZlcnRpY2FsXCI7XG4gIGNvbG9yczogQ29sb3JbXTtcbiAgb25TZWxlY3Q6IChjb2xvcjogQ29sb3IpID0+IHZvaWQ7XG4gIHNlbGVjdGVkQ29sb3I/OiBDb2xvcjtcbn1cblxuZnVuY3Rpb24gQ29sb3JQaWNrZXIoeyBjb2xvcnMsIG9uU2VsZWN0LCBzZWxlY3RlZENvbG9yLCBkaXJlY3Rpb24gPSBcInZlcnRpY2FsXCJ9OiBDb2xvclBpY2tlclByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzY2F0KFtzdHlsZXMuY29sb3JQaWNrZXIsIHN0eWxlc1tkaXJlY3Rpb25dXSl9PlxuICAgICAge2NvbG9ycy5tYXAoKGNvbG9yOiBDb2xvcikgPT4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxDb2xvclN3YXRjaFxuICAgICAgICAgICAga2V5PXtjb2xvci5rZXl9XG4gICAgICAgICAgICBjb2xvcj17Y29sb3J9XG4gICAgICAgICAgICBpc1NlbGVjdGVkPXtjb2xvciA9PT0gc2VsZWN0ZWRDb2xvcn1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uU2VsZWN0KGNvbG9yKX1cbiAgICAgICAgICAvPlxuICAgICAgICApO1xuICAgICAgfSl9XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IENvbG9yUGlja2VyO1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGNsYXNzY2F0IGZyb20gXCJjbGFzc2NhdFwiO1xuXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL0NvbG9yU3dhdGNoLm1vZHVsZS5jc3NcIjtcbmltcG9ydCB7IENvbG9yIH0gZnJvbSBcIi4uLy4uL3R5cGVzXCI7XG5cbnR5cGUgQ29sb3JTd2F0Y2hQcm9wcyA9IHtcbiAgY29sb3I6IENvbG9yO1xuICBpc1NlbGVjdGVkPzogYm9vbGVhbjtcbiAgb25DbGljazogKCkgPT4gdm9pZDtcbn1cblxuZnVuY3Rpb24gQ29sb3JTd2F0Y2goeyBjb2xvciwgb25DbGljaywgaXNTZWxlY3RlZCA9IGZhbHNlIH06IENvbG9yU3dhdGNoUHJvcHMpIHtcbiAgcmV0dXJuIChcbiAgICA8YnV0dG9uXG4gICAgICBjbGFzc05hbWU9e2NsYXNzY2F0KFtcbiAgICAgICAgc3R5bGVzLmNvbG9yU3dhdGNoLFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlcy5zZWxlY3RlZF06IGlzU2VsZWN0ZWQsXG4gICAgICAgIH0sXG4gICAgICBdKX1cbiAgICAgIGRhdGEtdGVzdGlkPVwiY29sb3Itc3dhdGNoXCJcbiAgICAgIGRpc2FibGVkPXtpc1NlbGVjdGVkfVxuICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgIHN0eWxlPXt7IGJhY2tncm91bmRDb2xvcjogY29sb3IuaGV4Q29kZSB9fVxuICAgID5cbiAgICAgIDxzcGFuIGNsYXNzTmFtZT17c3R5bGVzLnNyT25seX0+e2BTZWxlY3QgJHtjb2xvci5sYWJlbH0gY29sb3JgfTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgQ29sb3JTd2F0Y2g7XG4iLCIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW5cbm1vZHVsZS5leHBvcnRzID0ge1wiY29sb3JTd2F0Y2hcIjpcIl8xM3NzMXhzTU5penZFZ1BfaHhFVjhCXCIsXCJzZWxlY3RlZFwiOlwiTDZmQXQ2UlpZel96M3dQYmpaRXhIXCIsXCJzck9ubHlcIjpcIl8zdko1bXhwemFZc0theGYtOHRCMzF4XCJ9OyIsIi8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpblxubW9kdWxlLmV4cG9ydHMgPSB7XCJjb2xvclBpY2tlclwiOlwiXzMxRndIX25XcjcyazNwdWdBcEp1YjlcIixcImhvcml6b250YWxcIjpcIlFhLUJwdVRUMmt4cG1WX0FRZ0NqSFwiLFwidmVydGljYWxcIjpcIl8yeDRTQW5ib3B5Wm1reWNXTEMwRVhrXCJ9OyIsImV4cG9ydCB7IGRlZmF1bHQgYXMgQ29uZmlybWF0aW9uTW9kYWwgfSBmcm9tIFwiLi9Db25maXJtYXRpb25Nb2RhbFwiO1xuIiwiaW1wb3J0IFJlYWN0LCB7IFJlYWN0RWxlbWVudCwgUmVhY3ROb2RlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgY2xhc3NjYXQgZnJvbSBcImNsYXNzY2F0XCI7XG5cbmltcG9ydCB7IE1vZGFsIH0gZnJvbSBcIi4uL01vZGFsXCI7XG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL0NvbmZpcm1hdGlvbk1vZGFsLm1vZHVsZS5jc3NcIjtcblxudHlwZSBDb25maXJtYXRpb25Nb2RhbFByb3BzID0ge1xuICBidXR0b25zTGVmdD86IFJlYWN0RWxlbWVudFtdO1xuICBidXR0b25zUmlnaHQ/OiBSZWFjdEVsZW1lbnRbXTtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG4gIGhlYWRlcjogc3RyaW5nO1xuICBpc09wZW46IGJvb2xlYW47XG4gIG5vUGFkZGluZz86IGJvb2xlYW47XG4gIG9uQ2xvc2U/OiAoKSA9PiB2b2lkO1xufTtcblxuZnVuY3Rpb24gQ29uZmlybWF0aW9uTW9kYWwoe1xuICBjaGlsZHJlbixcbiAgaGVhZGVyLFxuICBpc09wZW4sXG4gIGJ1dHRvbnNMZWZ0ID0gW10sXG4gIGJ1dHRvbnNSaWdodCA9IFtdLFxuICBvbkNsb3NlID0gKCkgPT4ge30sXG4gIG5vUGFkZGluZyA9IGZhbHNlLFxufTogQ29uZmlybWF0aW9uTW9kYWxQcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxNb2RhbCBpc09wZW49e2lzT3Blbn0gb25DbG9zZT17b25DbG9zZX0+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLmNvbnRhaW5lcn0+XG4gICAgICAgIDxoMSBjbGFzc05hbWU9e3N0eWxlcy5tb2RhbEhlYWRlcn0+e2hlYWRlcn08L2gxPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2NhdChbXG4gICAgICAgICAgICBzdHlsZXMubW9kYWxDb250ZW50LFxuICAgICAgICAgICAgeyBbc3R5bGVzLm5vUGFkZGluZ106IG5vUGFkZGluZyB9LFxuICAgICAgICAgIF0pfVxuICAgICAgICA+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy5tb2RhbEJ1dHRvbnNDb250YWluZXJ9PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMubW9kYWxCdXR0b25zfT57YnV0dG9uc0xlZnR9PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy5tb2RhbEJ1dHRvbnN9PntidXR0b25zUmlnaHR9PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9Nb2RhbD5cbiAgKTtcbn1cblxuQ29uZmlybWF0aW9uTW9kYWwuZGlzcGxheU5hbWUgPSBcIkNvbmZpcm1hdGlvbk1vZGFsXCI7XG5cbmV4cG9ydCBkZWZhdWx0IENvbmZpcm1hdGlvbk1vZGFsO1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrLCBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZUhvdGtleXMgfSBmcm9tIFwicmVhY3QtaG90a2V5cy1ob29rXCI7XG5cbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vTW9kYWwubW9kdWxlLmNzc1wiO1xuXG50eXBlIE1vZGFsUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGUsXG4gIGlzT3BlbjogYm9vbGVhbixcbiAgb25DbG9zZT86ICgpID0+IHZvaWQsXG4gIGJ1dHRvbj86IFJlYWN0Tm9kZSxcbn1cblxuZnVuY3Rpb24gTW9kYWwoe1xuICBjaGlsZHJlbixcbiAgaXNPcGVuLFxuICBidXR0b24sXG4gIG9uQ2xvc2UgPSAoKSA9PiB7fVxuIH06IE1vZGFsUHJvcHMpIHtcbiAgdXNlSG90a2V5cyhcIkVzY2FwZVwiLCBvbkNsb3NlKTtcblxuICBjb25zdCBoYW5kbGVPdmVybGF5Q2xpY2sgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgb25DbG9zZSgpO1xuICB9LCBbb25DbG9zZV0pO1xuXG4gIHJldHVybiAoXG4gICAgaXNPcGVuICYmIChcbiAgICAgIDw+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlcy5vdmVybGF5fVxuICAgICAgICAgIGRhdGEtdGVzdGlkPVwibW9kYWwtb3ZlcmxheVwiXG4gICAgICAgICAgb25DbGljaz17aGFuZGxlT3ZlcmxheUNsaWNrfVxuICAgICAgICAvPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLm1vZGFsfSBkYXRhLXRlc3RpZD1cIm1vZGFsXCI+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAge2J1dHRvbiAmJiA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLm1vZGFsQnV0dG9ufT57YnV0dG9ufTwvZGl2Pn1cbiAgICAgIDwvPlxuICAgIClcbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTW9kYWw7XG4iLCIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW5cbm1vZHVsZS5leHBvcnRzID0ge1wib3ZlcmxheVwiOlwiXzF5eENiUUpxU3RVdnl0dktFZU5DM25cIixcIm1vZGFsXCI6XCJEOFNqQngzaWt6NjM2WXVibkhZQVlcIixcIm1vZGFsQnV0dG9uXCI6XCJvOFZSVnhNcnMxeFhhdkFEeXhqTEdcIn07IiwiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luXG5tb2R1bGUuZXhwb3J0cyA9IHtcImNvbnRhaW5lclwiOlwia2tnSG9CUWhGUHNLal94MVpGZFJIXCIsXCJtb2RhbEhlYWRlclwiOlwiXzFXdXZIRC1HZFhMcnRxd2EwNFcxcXlcIixcIm1vZGFsQ29udGVudFwiOlwiXzI3ZVV5U1FxdnE1cWxvTkNsSWpJU1RcIixcIm5vUGFkZGluZ1wiOlwiXzJndEJYTDlQRlNwSHNXMEE5eGQ1NVNcIixcIm1vZGFsQnV0dG9uc0NvbnRhaW5lclwiOlwiXzVnSXB5RjNYNXRoUFFBbnNBQzR6OVwiLFwibW9kYWxCdXR0b25zXCI6XCJzd3NvQ2lpMXc0eE5sN2lvRFZrTzVcIn07IiwiZXhwb3J0IHsgZGVmYXVsdCBhcyBGbG9hdGluZ1BhbmVsIH0gZnJvbSBcIi4vRmxvYXRpbmdQYW5lbFwiO1xuIiwiaW1wb3J0IFJlYWN0LCB7IFJlYWN0Tm9kZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGNsYXNzY2F0IGZyb20gXCJjbGFzc2NhdFwiO1xuXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL0Zsb2F0aW5nUGFuZWwubW9kdWxlLmNzc1wiO1xuXG50eXBlIFBsYWNlbWVudCA9IHtcbiAgaG9yaXpvbnRhbDogXCJyaWdodFwiIHwgXCJyaWdodEVkZ2VcIiB8IFwicmlnaHRPbkVkZ2VcIiB8IFwibGVmdFwiIHwgXCJsZWZ0RWRnZVwiIHwgXCJsZWZ0T25FZGdlXCIgfCBcImxlZnRPbkVkZ2VcIiB8IFwiY2VudGVyXCI7XG4gIHZlcnRpY2FsOiBcInRvcFwiIHwgXCJ0b3BFZGdlXCIgfCBcImJvdHRvbVwiIHwgXCJib3R0b21FZGdlXCIgfCBcImJvdHRvbU9uRWRnZVwiIHwgXCJjZW50ZXJcIjtcbiAgcGFyZW50OiBcInZpZXdwb3J0XCIgfCBcImNvbnRhaW5lclwiO1xufTtcblxudHlwZSBGbG9hdGluZ1BhbmVsUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIGxheW91dD86IFwiY29sdW1uXCIgfCBcInJvd1wiO1xuICBwbGFjZW1lbnQ/OiBQbGFjZW1lbnQ7XG59O1xuXG5mdW5jdGlvbiBGbG9hdGluZ1BhbmVsKHtcbiAgY2hpbGRyZW4sXG4gIGxheW91dCA9IFwiY29sdW1uXCIsXG4gIHBsYWNlbWVudCA9IHsgaG9yaXpvbnRhbDogXCJjZW50ZXJcIiwgdmVydGljYWw6IFwiYm90dG9tXCIsIHBhcmVudDogXCJ2aWV3cG9ydFwiIH1cbn06IEZsb2F0aW5nUGFuZWxQcm9wcykge1xuICBjb25zdCBob3Jpem9udGFsUGxhY2VtZW50ID1cbiAgICBwbGFjZW1lbnQuaG9yaXpvbnRhbCA9PT0gXCJjZW50ZXJcIlxuICAgICAgPyBcImhvcml6b250YWxDZW50ZXJcIlxuICAgICAgOiBwbGFjZW1lbnQuaG9yaXpvbnRhbDtcblxuICBjb25zdCB2ZXJ0aWNhbFBsYWNlbWVudCA9XG4gICAgcGxhY2VtZW50LnZlcnRpY2FsID09PSBcImNlbnRlclwiID8gXCJ2ZXJ0aWNhbENlbnRlclwiIDogcGxhY2VtZW50LnZlcnRpY2FsO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgZGF0YS10ZXN0aWQ9XCJmbG9hdGluZy1wYW5lbFwiXG4gICAgICBjbGFzc05hbWU9e2NsYXNzY2F0KFtcbiAgICAgICAgc3R5bGVzLmNvbnRhaW5lcixcbiAgICAgICAgc3R5bGVzW2hvcml6b250YWxQbGFjZW1lbnRdLFxuICAgICAgICBzdHlsZXNbdmVydGljYWxQbGFjZW1lbnRdLFxuICAgICAgICBzdHlsZXNbbGF5b3V0XSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXMuZml4ZWRdOiBwbGFjZW1lbnQucGFyZW50ICE9PSBcImNvbnRhaW5lclwiLFxuICAgICAgICB9LFxuICAgICAgXSl9XG4gICAgPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvZGl2PlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBGbG9hdGluZ1BhbmVsO1xuIiwiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luXG5tb2R1bGUuZXhwb3J0cyA9IHtcImNvbnRhaW5lclwiOlwiYTZOSE8yQ1ZWQ2Zpbml5ZTJYTE4tXCIsXCJyb3dcIjpcIl8zUlNnQjc2ckVCbmlQYzJZY3I4WmJ2XCIsXCJjb2x1bW5cIjpcIl8xSmtYMTVpZ2NsbmJtNXNSU2NXVkRZXCIsXCJmaXhlZFwiOlwiTU1RMXlqRWFmV2tZRlZESE1wVGJJXCIsXCJwbGFpblwiOlwiXzNtMk1fTmFyYzV4d0xheThISmxqa2NcIixcInRyYW5zcGFyZW50XCI6XCJfMXJmYTQ5emhaeE5pZno2NE9xYl82UFwiLFwidG9wXCI6XCJfa1VhbG5EZUVmdnpxQWppMEFNRG9cIixcInRvcEVkZ2VcIjpcIlc4SkFJd0xqTzhKUUdidmlacFBRd1wiLFwidG9wT25FZGdlXCI6XCJfM29wSjdFYjZ0ajM5NHVWOGE1N2l4elwiLFwicmlnaHRcIjpcIl8zLXZid2pwMGFQY0xFVjFTeDBJQ2dQXCIsXCJyaWdodEVkZ2VcIjpcIl8zWE5GeTVab01Db1lCSWFiZUdONEJRXCIsXCJyaWdodE9uRWRnZVwiOlwiXzEyYzNDelVNUUU4QUczQUw4SGlraTJcIixcImJvdHRvbVwiOlwiXzNnZUJFTkg1b0VycUdkdC1ReUhuUGhcIixcImJvdHRvbUVkZ2VcIjpcIl8zX3NhTTRHczMyblJiSUhIeElFYkY2XCIsXCJib3R0b21PbkVkZ2VcIjpcIl8yUExFNGRtR2huY2drLWxFbm9VNGt2XCIsXCJsZWZ0XCI6XCJfMWlTQm55WmdQZUZVV29NNGk2ZFNwVVwiLFwibGVmdEVkZ2VcIjpcIl8xZlgxOXFJT1NobjJvNXV1c1J6VGdzXCIsXCJsZWZ0T25FZGdlXCI6XCJLQkhEb2NrdUhURU9LTUdPemFkWGlcIixcImhvcml6b250YWxDZW50ZXJcIjpcIl8zMXQ2dEhSSjVzLTVEY0RMRlRLaDFtXCIsXCJ2ZXJ0aWNhbENlbnRlclwiOlwiXzJocTdma0RYSHhyeHoydDdMTGc0XzlcIn07IiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGNsYXNzY2F0IGZyb20gXCJjbGFzc2NhdFwiO1xuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9JY29uLm1vZHVsZS5jc3NcIjtcblxudHlwZSBJY29uUHJvcHMgPSB7XG4gIHNyYzogc3RyaW5nO1xuICBhbHQ/OiBzdHJpbmc7XG4gIHNpemU/OiBcInNtYWxsXCIgfCBcIm1lZGl1bVwiIHwgXCJsYXJnZVwiO1xuICBpbnZlcnRlZD86IGJvb2xlYW47XG59XG5mdW5jdGlvbiBJY29uKHsgc3JjLCBhbHQsIHNpemUgPSBcIm1lZGl1bVwiLCBpbnZlcnRlZCA9IGZhbHNlIH06IEljb25Qcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxpbWdcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NjYXQoW1xuICAgICAgICBzdHlsZXMuaWNvbixcbiAgICAgICAgc3R5bGVzW3NpemVdLFxuICAgICAgICB7IFtzdHlsZXMuaW52ZXJ0ZWRdOiBpbnZlcnRlZCB9LFxuICAgICAgXSl9XG4gICAgICBjcm9zc09yaWdpbj1cImFub255bW91c1wiXG4gICAgICBkYXRhLXRlc3RpZD1cImljb25cIlxuICAgICAgYWx0PXthbHR9XG4gICAgICBzcmM9e3NyY31cbiAgICAvPlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBJY29uO1xuIiwiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luXG5tb2R1bGUuZXhwb3J0cyA9IHtcImljb25cIjpcInVoOHprbVFwNXliazVXSlNsYTY5RFwiLFwic21hbGxcIjpcIl85RElDdHFtUVNuTFBqbTFYSTdZVnNcIixcIm1lZGl1bVwiOlwic0pweGZZZ2lUejdpazZKT0d1MXdpXCIsXCJsYXJnZVwiOlwiXzJyZ3VjQUg4Qm5saS1jbWp6OWkyQzJcIixcImludmVydGVkXCI6XCJJLWVJNXE4cmQyYlNwOUItRmhVemFcIn07IiwiZXhwb3J0IHsgZGVmYXVsdCBhcyBJY29uQnV0dG9uIH0gZnJvbSBcIi4vSWNvbkJ1dHRvblwiO1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGNsYXNzY2F0IGZyb20gXCJjbGFzc2NhdFwiO1xuXG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIi4uL0ljb25cIjtcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vSWNvbkJ1dHRvbi5tb2R1bGUuY3NzXCI7XG5cbnR5cGUgSWNvbkJ1dHRvblByb3BzID0ge1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIHNyYzogc3RyaW5nO1xuICBhbHQ6IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBpbnZlcnRlZD86IGJvb2xlYW47XG4gIG5vU2hhZG93PzogYm9vbGVhbjtcbiAgbm9Cb3JkZXI/OiBib29sZWFuO1xuICB0cmFuc3BhcmVudD86IGJvb2xlYW47XG4gIHJvdW5kZWQ/OiBib29sZWFuO1xuICBvbkNsaWNrPzogKCkgPT4gdm9pZCxcbiAgc2l6ZT86IFwic21hbGxcIiB8IFwibWVkaXVtXCIgfCBcImxhcmdlXCI7XG4gIHR5cGU/OiBcInN1Ym1pdFwiIHwgXCJyZXNldFwiIHwgXCJidXR0b25cIjtcbiAgb2Zmc2V0U2lkZXM/OiBBcnJheTxcInRvcFwiIHwgXCJyaWdodFwiIHwgXCJib3R0b21cIiB8IFwibGVmdFwiPjtcbn1cblxuZnVuY3Rpb24gSWNvbkJ1dHRvbih7XG4gIGNsYXNzTmFtZSxcbiAgc3JjLFxuICBhbHQsXG4gIG9mZnNldFNpZGVzID0gW10sXG4gIG9uQ2xpY2sgPSAoKSA9PiB7fSxcbiAgZGlzYWJsZWQgPSBmYWxzZSxcbiAgaW52ZXJ0ZWQgPSBmYWxzZSxcbiAgbm9TaGFkb3cgPSBmYWxzZSxcbiAgbm9Cb3JkZXIgPSBmYWxzZSxcbiAgdHJhbnNwYXJlbnQgPSBmYWxzZSxcbiAgcm91bmRlZCA9IGZhbHNlLFxuICBzaXplID0gXCJtZWRpdW1cIixcbiAgdHlwZSA9IFwiYnV0dG9uXCIsXG59OiBJY29uQnV0dG9uUHJvcHMpIHtcbiAgcmV0dXJuIChcbiAgICA8YnV0dG9uXG4gICAgICBjbGFzc05hbWU9e2NsYXNzY2F0KFtcbiAgICAgICAgc3R5bGVzLmNvbnRhaW5lcixcbiAgICAgICAgc3R5bGVzW3NpemVdLFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlcy5pbnZlcnRlZF06IGludmVydGVkLFxuICAgICAgICAgIFtzdHlsZXMucm91bmRlZF06IHJvdW5kZWQsXG4gICAgICAgICAgW3N0eWxlcy5ub1NoYWRvd106IG5vU2hhZG93LFxuICAgICAgICAgIFtzdHlsZXMubm9Cb3JkZXJdOiBub0JvcmRlcixcbiAgICAgICAgICBbc3R5bGVzLnRyYW5zcGFyZW50XTogdHJhbnNwYXJlbnQsXG4gICAgICAgICAgW3N0eWxlcy50b3BPZmZzZXRdOiByb3VuZGVkICYmIG9mZnNldFNpZGVzLmluY2x1ZGVzKFwidG9wXCIpLFxuICAgICAgICAgIFtzdHlsZXMucmlnaHRPZmZzZXRdOiByb3VuZGVkICYmIG9mZnNldFNpZGVzLmluY2x1ZGVzKFwicmlnaHRcIiksXG4gICAgICAgICAgW3N0eWxlcy5ib3R0b21PZmZzZXRdOiByb3VuZGVkICYmIG9mZnNldFNpZGVzLmluY2x1ZGVzKFwiYm90dG9tXCIpLFxuICAgICAgICAgIFtzdHlsZXMubGVmdE9mZnNldF06IHJvdW5kZWQgJiYgb2Zmc2V0U2lkZXMuaW5jbHVkZXMoXCJsZWZ0XCIpLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWUsXG4gICAgICBdKX1cbiAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgICB0eXBlPXt0eXBlfVxuICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgPlxuICAgICAgPEljb24gc3JjPXtzcmN9IGFsdD17YWx0fSBzaXplPXtzaXplfSBpbnZlcnRlZD17aW52ZXJ0ZWR9ICAvPlxuICAgIDwvYnV0dG9uPlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBJY29uQnV0dG9uO1xuIiwiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luXG5tb2R1bGUuZXhwb3J0cyA9IHtcImNvbnRhaW5lclwiOlwiXzJNUHVKM0FwdnJBdnJld2pTV0dBQTJcIixcInNtYWxsXCI6XCJsT2tvYW43ZGJwLWdvRHRKVnVLN0JcIixcIm1lZGl1bVwiOlwiXzNhOWNXdHNfWTd4M3Bhams4dW1OM3pcIixcImxhcmdlXCI6XCJfMmFHNnpYcVRFS1ZjdkJhYW5pQ05CeVwiLFwicm91bmRlZFwiOlwiXzJKWDAzNHFVVENvVGRXQzJwcEE0ODdcIixcInRvcE9mZnNldFwiOlwiXzF3cEMtV1hnTDA2UUt4dFB6T3dOUktcIixcInJpZ2h0T2Zmc2V0XCI6XCJMSXpyUUM3cG9RVDlqVVJCcU1ES2hcIixcImJvdHRvbU9mZnNldFwiOlwiXzJpX3c1VUxrVUs3TFZ3NWhFTzk3RXdcIixcImxlZnRPZmZzZXRcIjpcIl8zOGVLbFRRVFYxWWxuRWUxR21OdFFrXCIsXCJpbnZlcnRlZFwiOlwiXzJOa1o1MHJrQTNlWkN5c1k5RkFwLWVcIixcIm5vU2hhZG93XCI6XCJfM1V5NUhaZHZrV2Y3YmlsVDB3eHdWZVwiLFwibm9Cb3JkZXJcIjpcIl8yRjRIeTlscTVPQ3JFcFBaUGg1eEFKXCIsXCJ0cmFuc3BhcmVudFwiOlwiXzJ1N3FUTWVFOUQ1cnRjc0VjU29BWTNcIn07IiwiZXhwb3J0IHsgZGVmYXVsdCBhcyBJY29uQnV0dG9uTGluayB9IGZyb20gXCIuL0ljb25CdXR0b25MaW5rXCI7XG4iLCJpbXBvcnQgUmVhY3QsIHsgUmVhY3RUeXBlLCBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIjtcblxuaW1wb3J0IGNsYXNzY2F0IGZyb20gXCJjbGFzc2NhdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCIuLi9JY29uXCI7XG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL0ljb25CdXR0b25MaW5rLm1vZHVsZS5jc3NcIjtcbmltcG9ydCB7IFNpemUgfSBmcm9tIFwiLi4vLi4vdHlwZXNcIjtcblxudHlwZSBPZmZzZXRTaWRlID0gXCJ0b3BcIiB8IFwicmlnaHRcIiB8IFwiYm90dG9tXCIgfCBcImxlZnRcIjtcblxudHlwZSBJY29uQnV0dG9uTGlua1Byb3BzID0ge1xuICBhcz86IFJlYWN0VHlwZTtcbiAgc3JjOiBzdHJpbmc7XG4gIGFsdDogc3RyaW5nO1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIGludmVydGVkPzogYm9vbGVhbjtcbiAgcm91bmRlZD86IGJvb2xlYW47XG4gIHRyYW5zcGFyZW50PzogYm9vbGVhbjtcbiAgbm9TaGFkb3c/OiBib29sZWFuO1xuICBub0JvcmRlcj86IGJvb2xlYW47XG4gIHNpemU/OiBTaXplO1xuICBvZmZzZXRTaWRlcz86IEFycmF5PE9mZnNldFNpZGU+O1xufSB8IGFueTtcblxuZnVuY3Rpb24gSWNvbkJ1dHRvbkxpbmsoe1xuICBhczogQ29tcG9uZW50LFxuICBjbGFzc05hbWUsXG4gIHNyYyxcbiAgYWx0LFxuICBpbnZlcnRlZCA9IGZhbHNlLFxuICBub1NoYWRvdyA9IGZhbHNlLFxuICBub0JvcmRlciA9IGZhbHNlLFxuICB0cmFuc3BhcmVudCA9IGZhbHNlLFxuICByb3VuZGVkID0gZmFsc2UsXG4gIG9mZnNldFNpZGVzID0gW10sXG4gIHNpemUgPSBcIm1lZGl1bVwiLFxuICAuLi5wcm9wc1xufTogSWNvbkJ1dHRvbkxpbmtQcm9wcykge1xuICBpZiAodHlwZW9mIENvbXBvbmVudCA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgIENvbXBvbmVudCA9IFwiYVwiO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8Q29tcG9uZW50XG4gICAgICBkYXRhLXRlc3RpZD1cImljb24tYnV0dG9uLWxpbmtcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc2NhdChbXG4gICAgICAgIHN0eWxlcy5jb250YWluZXIsXG4gICAgICAgIHN0eWxlc1tzaXplXSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXMuaW52ZXJ0ZWRdOiBpbnZlcnRlZCxcbiAgICAgICAgICBbc3R5bGVzLnJvdW5kZWRdOiByb3VuZGVkLFxuICAgICAgICAgIFtzdHlsZXMubm9TaGFkb3ddOiBub1NoYWRvdyxcbiAgICAgICAgICBbc3R5bGVzLm5vQm9yZGVyXTogbm9Cb3JkZXIsXG4gICAgICAgICAgW3N0eWxlcy50cmFuc3BhcmVudF06IHRyYW5zcGFyZW50LFxuICAgICAgICAgIFtzdHlsZXMudG9wT2Zmc2V0XTogcm91bmRlZCAmJiBvZmZzZXRTaWRlcy5pbmNsdWRlcyhcInRvcFwiKSxcbiAgICAgICAgICBbc3R5bGVzLnJpZ2h0T2Zmc2V0XTogcm91bmRlZCAmJiBvZmZzZXRTaWRlcy5pbmNsdWRlcyhcInJpZ2h0XCIpLFxuICAgICAgICAgIFtzdHlsZXMuYm90dG9tT2Zmc2V0XTogcm91bmRlZCAmJiBvZmZzZXRTaWRlcy5pbmNsdWRlcyhcImJvdHRvbVwiKSxcbiAgICAgICAgICBbc3R5bGVzLmxlZnRPZmZzZXRdOiByb3VuZGVkICYmIG9mZnNldFNpZGVzLmluY2x1ZGVzKFwibGVmdFwiKSxcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgXSl9XG4gICAgICB7Li4ucHJvcHN9XG4gICAgPlxuICAgICAgPEljb24gc3JjPXtzcmN9IGFsdD17YWx0fSBzaXplPXtzaXplfSBpbnZlcnRlZD17aW52ZXJ0ZWR9IC8+XG4gICAgPC9Db21wb25lbnQ+XG4gICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IEljb25CdXR0b25MaW5rO1xuIiwiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luXG5tb2R1bGUuZXhwb3J0cyA9IHtcImNvbnRhaW5lclwiOlwiXzF1aWZtS05QRHpkdTVZRG5oZ3dQUUtcIixcInNtYWxsXCI6XCJwZkhjWWFldy1Ickh0VE51UjR2N2hcIixcImxhcmdlXCI6XCJfMjZaOUZILUNOUHFmNTVaUlAxdm5hYlwiLFwicm91bmRlZFwiOlwiXzJxN1d2Uk9oTm0zZ3NSSVJhUVFlYVVcIixcInRvcE9mZnNldFwiOlwid1p5X3Z1bFprTWJXU1gwYWtjWkhBXCIsXCJyaWdodE9mZnNldFwiOlwiXzJqaGhwbTYwX3lQRWZ4US13YXpqLTVcIixcImJvdHRvbU9mZnNldFwiOlwiRG5uckc3WlhtVElobVdVY3M5OW0xXCIsXCJsZWZ0T2Zmc2V0XCI6XCJfMVlkQ2c3VDZYamhteHdjakxOU0ViLVwiLFwiaW52ZXJ0ZWRcIjpcIkhWMFItbHF3bXllcXNTMVo4cG9aU1wiLFwibm9TaGFkb3dcIjpcIl8xTFBwdDcwSmppbTZTZlplMzVHMmtiXCIsXCJub0JvcmRlclwiOlwiUmt6U3JHaXhNMjhKTWF0NklCNUxyXCIsXCJ0cmFuc3BhcmVudFwiOlwiXzFLZFhmWTNQazZ0RU5ZSDgxdFdycHNcIn07IiwiZXhwb3J0IHsgZGVmYXVsdCBhcyBJbWFnZSB9IGZyb20gXCIuL0ltYWdlXCI7XG4iLCJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBjbGFzc2NhdCBmcm9tIFwiY2xhc3NjYXRcIjtcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vSW1hZ2UubW9kdWxlLmNzc1wiO1xuXG50eXBlIEltYWdlUHJvcHMgPSB7XG4gIHNyYzogc3RyaW5nO1xuICBhbHQ/OiBzdHJpbmc7XG4gIHNyY1dpZHRoPzogbnVtYmVyO1xuICBzcmNIZWlnaHQ/OiBudW1iZXI7XG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xuICBsYXlvdXQ/OiBcImNvdmVyXCIgfCBcImNvbnRhaW5cIiB8IFwic3RyZXRjaEhvcml6b250YWxseVwiIHwgXCJzdHJldGNoVmVydGljYWxseVwiO1xufTtcblxuZnVuY3Rpb24gSW1hZ2UoeyBzcmMsIGFsdCwgc3JjV2lkdGgsIHNyY0hlaWdodCwgY2hpbGRyZW4sIGxheW91dCA9IFwiY29udGFpblwiIH06IEltYWdlUHJvcHMpIHtcbiAgcmV0dXJuIGNoaWxkcmVuID8gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2NhdChbc3R5bGVzLmNvbnRhaW5lciwgc3R5bGVzLmhhc092ZXJsYXldKX0+XG4gICAgICA8aW1nXG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NjYXQoW3N0eWxlcy5pbWFnZSwgc3R5bGVzW2xheW91dF1dKX1cbiAgICAgICAgY3Jvc3NPcmlnaW49XCJhbm9ueW1vdXNcIlxuICAgICAgICBkYXRhLXRlc3RpZD1cImltYWdlXCJcbiAgICAgICAgYWx0PXthbHR9XG4gICAgICAgIHNyYz17c3JjfVxuICAgICAgICB3aWR0aD17c3JjV2lkdGh9XG4gICAgICAgIGhlaWdodD17c3JjSGVpZ2h0fVxuICAgICAgLz5cbiAgICAgIHtjaGlsZHJlbiAmJiA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLm92ZXJsYXl9PntjaGlsZHJlbn08L2Rpdj59XG4gICAgPC9kaXY+XG4gICkgOiAoXG4gICAgPGltZ1xuICAgICAgY2xhc3NOYW1lPXtjbGFzc2NhdChbc3R5bGVzLmltYWdlLCBzdHlsZXNbbGF5b3V0XV0pfVxuICAgICAgY3Jvc3NPcmlnaW49XCJhbm9ueW1vdXNcIlxuICAgICAgZGF0YS10ZXN0aWQ9XCJpbWFnZVwiXG4gICAgICBhbHQ9e2FsdH1cbiAgICAgIHNyYz17c3JjfVxuICAgICAgd2lkdGg9e3NyY1dpZHRofVxuICAgICAgaGVpZ2h0PXtzcmNIZWlnaHR9XG4gICAgLz5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgSW1hZ2U7XG4iLCIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW5cbm1vZHVsZS5leHBvcnRzID0ge1wiY29udGFpbmVyXCI6XCJfM3p3bG44eHBrWndwVFk1aTZKN2JPRFwiLFwiaGFzT3ZlcmxheVwiOlwiXzJlbDh4V3FxZjN3NFMzeDBzMkQ5eGxcIixcIm92ZXJsYXlcIjpcIkVnM2ltZmJYZEk2VTZyZlJFMC1xT1wiLFwiaW1hZ2VcIjpcInQxODk3ZGZ0c19wcUh6U253bVdCV1wiLFwiY292ZXJcIjpcIl8xLVJfSERqTzZxTm55d2NOaVM4YnlEXCIsXCJjb250YWluXCI6XCJfM21EcENqSEoyZzY2ZTB3NFIyRVprR1wiLFwic3RyZXRjaEhvcml6b250YWxseVwiOlwiXzN5RXRIN2NxcFVsVkZhR2lXRzEyOXdcIixcInN0cmV0Y2hWZXJ0aWNhbGx5XCI6XCJseWlCczZPQnh2UkVud0lSMGxzMkNcIn07IiwiZXhwb3J0IHsgZGVmYXVsdCBhcyBMaXN0VmlldyB9IGZyb20gXCIuL0xpc3RWaWV3XCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIExpc3RWaWV3SXRlbSB9IGZyb20gXCIuL0xpc3RWaWV3SXRlbVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBMaXN0Vmlld0xpbmtJdGVtIH0gZnJvbSBcIi4vTGlzdFZpZXdMaW5rSXRlbVwiO1xuIiwiaW1wb3J0IFJlYWN0LCB7IFJlYWN0Tm9kZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiO1xuaW1wb3J0IGNsYXNzY2F0IGZyb20gXCJjbGFzc2NhdFwiO1xuXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL0xpc3RWaWV3Lm1vZHVsZS5jc3NcIjtcblxudHlwZSBMaXN0Vmlld1Byb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIGhlYWRlcj86IHN0cmluZztcbn1cblxuZnVuY3Rpb24gTGlzdFZpZXcoeyBjaGlsZHJlbiwgY2xhc3NOYW1lLCBoZWFkZXIgfTogTGlzdFZpZXdQcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2NhdChbc3R5bGVzLmNvbnRhaW5lciwgY2xhc3NOYW1lXSl9PlxuICAgICAge2hlYWRlciAmJiA8aDMgY2xhc3NOYW1lPXtzdHlsZXMuaGVhZGVyfT57aGVhZGVyfTwvaDM+fVxuICAgICAgPHVsIGNsYXNzTmFtZT17c3R5bGVzLmxpc3R9PntjaGlsZHJlbn08L3VsPlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBMaXN0VmlldztcbiIsIi8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpblxubW9kdWxlLmV4cG9ydHMgPSB7XCJjb250YWluZXJcIjpcIkNQSE5kOG9zS2pMdlFERVFVRXJ1eFwiLFwiaGVhZGVyXCI6XCJfMWU3aEhTVm81OWU4eVFuaGM5QjZJZFwiLFwibGlzdFwiOlwiXzF3MVc4RTZfSHpmZXMzV1pUWVphSktcIn07IiwiaW1wb3J0IFJlYWN0LCB7IFJlYWN0Tm9kZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGNsYXNzY2F0IGZyb20gXCJjbGFzc2NhdFwiO1xuXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tIFwiLi4vQnV0dG9uXCI7XG5pbXBvcnQgeyBTaXplIH0gZnJvbSBcIi4uLy4uL3R5cGVzXCI7XG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL0xpc3RWaWV3SXRlbS5tb2R1bGUuY3NzXCI7XG5cbnR5cGUgTGlzdFZpZXdJdGVtUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIGFjdGl2ZT86IGJvb2xlYW47XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgdHJhbnNwYXJlbnQ/OiBib29sZWFuO1xuICBub1BhZGRpbmc/OiBib29sZWFuO1xuICBzaXplPzogU2l6ZTtcbiAgYWxpZ24/OiBcImxlZnRcIiB8IFwiY2VudGVyXCI7XG4gIG9uQ2xpY2s/OiAoKSA9PiB2b2lkLFxufVxuXG5mdW5jdGlvbiBMaXN0Vmlld0l0ZW0oe1xuICBjaGlsZHJlbixcbiAgYWN0aXZlID0gZmFsc2UsXG4gIGRpc2FibGVkID0gZmFsc2UsXG4gIHRyYW5zcGFyZW50ID0gZmFsc2UsXG4gIG5vUGFkZGluZyA9IGZhbHNlLFxuICBzaXplID0gXCJtZWRpdW1cIixcbiAgYWxpZ24gPSBcImNlbnRlclwiLFxuICBvbkNsaWNrID0gKCkgPT4ge30sXG59OiBMaXN0Vmlld0l0ZW1Qcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxsaSBjbGFzc05hbWU9e2NsYXNzY2F0KFtzdHlsZXMubGlzdFZpZXdJdGVtXSl9PlxuICAgICAgPEJ1dHRvblxuICAgICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIGludmVydGVkPXthY3RpdmV9XG4gICAgICAgIHRyYW5zcGFyZW50PXt0cmFuc3BhcmVudH1cbiAgICAgICAgbm9QYWRkaW5nPXtub1BhZGRpbmd9XG4gICAgICAgIGFsaWduPXthbGlnbn1cbiAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgc3RyZXRjaEhvcml6b250YWxseVxuICAgICAgICBub1NoYWRvd1xuICAgICAgICBub0JvcmRlclxuICAgICAgPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L0J1dHRvbj5cbiAgICA8L2xpPlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBMaXN0Vmlld0l0ZW07XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCI7XG5pbXBvcnQgY2xhc3NjYXQgZnJvbSBcImNsYXNzY2F0XCI7XG5pbXBvcnQgeyBCdXR0b25MaW5rIH0gZnJvbSBcIi4uL0J1dHRvbkxpbmtcIjtcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vTGlzdFZpZXdJdGVtLm1vZHVsZS5jc3NcIjtcblxuZnVuY3Rpb24gTGlzdFZpZXdMaW5rSXRlbSh7XG4gIGNoaWxkcmVuLFxuICBhY3RpdmUsXG4gIHRyYW5zcGFyZW50LFxuICBub1BhZGRpbmcsXG4gIHNpemUsXG4gIGFsaWduLFxuICBhcyxcbiAgLi4ucHJvcHNcbn0pIHtcbiAgcmV0dXJuIChcbiAgICA8bGkgY2xhc3NOYW1lPXtjbGFzc2NhdChbc3R5bGVzLmxpc3RWaWV3SXRlbV0pfT5cbiAgICAgIDxCdXR0b25MaW5rXG4gICAgICAgIGFzPXthc31cbiAgICAgICAgaW52ZXJ0ZWQ9e2FjdGl2ZX1cbiAgICAgICAgdHJhbnNwYXJlbnQ9e3RyYW5zcGFyZW50fVxuICAgICAgICBub1BhZGRpbmc9e25vUGFkZGluZ31cbiAgICAgICAgYWxpZ249e2FsaWdufVxuICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICBzdHJldGNoSG9yaXpvbnRhbGx5XG4gICAgICAgIG5vU2hhZG93XG4gICAgICAgIG5vQm9yZGVyXG4gICAgICAgIHsuLi5wcm9wc31cbiAgICAgID5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9CdXR0b25MaW5rPlxuICAgIDwvbGk+XG4gICk7XG59XG5cbkxpc3RWaWV3TGlua0l0ZW0uZGVmYXVsdFByb3BzID0ge1xuICBhY3RpdmU6IGZhbHNlLFxuICB0cmFuc3BhcmVudDogZmFsc2UsXG4gIG5vUGFkZGluZzogZmFsc2UsXG4gIHNpemU6IFwibWVkaXVtXCIsXG4gIGFsaWduOiBcImNlbnRlclwiLFxuICBhczogXCJhXCIsXG59O1xuXG5MaXN0Vmlld0xpbmtJdGVtLnByb3BUeXBlcyA9IHtcbiAgY2hpbGRyZW46IFByb3BUeXBlcy5ub2RlLmlzUmVxdWlyZWQsXG4gIGFzOiBQcm9wVHlwZXMuZWxlbWVudFR5cGUsXG4gIGFjdGl2ZTogUHJvcFR5cGVzLmJvb2wsXG4gIHRyYW5zcGFyZW50OiBQcm9wVHlwZXMuYm9vbCxcbiAgbm9QYWRkaW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgYWxpZ246IFByb3BUeXBlcy5vbmVPZihbXCJsZWZ0XCIsIFwiY2VudGVyXCJdKSxcbiAgc2l6ZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgb25DbGljazogUHJvcFR5cGVzLmZ1bmMsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBMaXN0Vmlld0xpbmtJdGVtO1xuIiwiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBSZWFjdFByb3BUeXBlc1NlY3JldCA9IHJlcXVpcmUoJy4vbGliL1JlYWN0UHJvcFR5cGVzU2VjcmV0Jyk7XG5cbmZ1bmN0aW9uIGVtcHR5RnVuY3Rpb24oKSB7fVxuZnVuY3Rpb24gZW1wdHlGdW5jdGlvbldpdGhSZXNldCgpIHt9XG5lbXB0eUZ1bmN0aW9uV2l0aFJlc2V0LnJlc2V0V2FybmluZ0NhY2hlID0gZW1wdHlGdW5jdGlvbjtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbigpIHtcbiAgZnVuY3Rpb24gc2hpbShwcm9wcywgcHJvcE5hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUsIHNlY3JldCkge1xuICAgIGlmIChzZWNyZXQgPT09IFJlYWN0UHJvcFR5cGVzU2VjcmV0KSB7XG4gICAgICAvLyBJdCBpcyBzdGlsbCBzYWZlIHdoZW4gY2FsbGVkIGZyb20gUmVhY3QuXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHZhciBlcnIgPSBuZXcgRXJyb3IoXG4gICAgICAnQ2FsbGluZyBQcm9wVHlwZXMgdmFsaWRhdG9ycyBkaXJlY3RseSBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBgcHJvcC10eXBlc2AgcGFja2FnZS4gJyArXG4gICAgICAnVXNlIFByb3BUeXBlcy5jaGVja1Byb3BUeXBlcygpIHRvIGNhbGwgdGhlbS4gJyArXG4gICAgICAnUmVhZCBtb3JlIGF0IGh0dHA6Ly9mYi5tZS91c2UtY2hlY2stcHJvcC10eXBlcydcbiAgICApO1xuICAgIGVyci5uYW1lID0gJ0ludmFyaWFudCBWaW9sYXRpb24nO1xuICAgIHRocm93IGVycjtcbiAgfTtcbiAgc2hpbS5pc1JlcXVpcmVkID0gc2hpbTtcbiAgZnVuY3Rpb24gZ2V0U2hpbSgpIHtcbiAgICByZXR1cm4gc2hpbTtcbiAgfTtcbiAgLy8gSW1wb3J0YW50IVxuICAvLyBLZWVwIHRoaXMgbGlzdCBpbiBzeW5jIHdpdGggcHJvZHVjdGlvbiB2ZXJzaW9uIGluIGAuL2ZhY3RvcnlXaXRoVHlwZUNoZWNrZXJzLmpzYC5cbiAgdmFyIFJlYWN0UHJvcFR5cGVzID0ge1xuICAgIGFycmF5OiBzaGltLFxuICAgIGJvb2w6IHNoaW0sXG4gICAgZnVuYzogc2hpbSxcbiAgICBudW1iZXI6IHNoaW0sXG4gICAgb2JqZWN0OiBzaGltLFxuICAgIHN0cmluZzogc2hpbSxcbiAgICBzeW1ib2w6IHNoaW0sXG5cbiAgICBhbnk6IHNoaW0sXG4gICAgYXJyYXlPZjogZ2V0U2hpbSxcbiAgICBlbGVtZW50OiBzaGltLFxuICAgIGVsZW1lbnRUeXBlOiBzaGltLFxuICAgIGluc3RhbmNlT2Y6IGdldFNoaW0sXG4gICAgbm9kZTogc2hpbSxcbiAgICBvYmplY3RPZjogZ2V0U2hpbSxcbiAgICBvbmVPZjogZ2V0U2hpbSxcbiAgICBvbmVPZlR5cGU6IGdldFNoaW0sXG4gICAgc2hhcGU6IGdldFNoaW0sXG4gICAgZXhhY3Q6IGdldFNoaW0sXG5cbiAgICBjaGVja1Byb3BUeXBlczogZW1wdHlGdW5jdGlvbldpdGhSZXNldCxcbiAgICByZXNldFdhcm5pbmdDYWNoZTogZW1wdHlGdW5jdGlvblxuICB9O1xuXG4gIFJlYWN0UHJvcFR5cGVzLlByb3BUeXBlcyA9IFJlYWN0UHJvcFR5cGVzO1xuXG4gIHJldHVybiBSZWFjdFByb3BUeXBlcztcbn07XG4iLCIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIFJlYWN0UHJvcFR5cGVzU2VjcmV0ID0gJ1NFQ1JFVF9ET19OT1RfUEFTU19USElTX09SX1lPVV9XSUxMX0JFX0ZJUkVEJztcblxubW9kdWxlLmV4cG9ydHMgPSBSZWFjdFByb3BUeXBlc1NlY3JldDtcbiIsImV4cG9ydCB7IGRlZmF1bHQgYXMgTWVudSB9IGZyb20gXCIuL01lbnVcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTWVudUNvbnRhaW5lciB9IGZyb20gXCIuL01lbnVDb250YWluZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTWVudUl0ZW0gfSBmcm9tIFwiLi9NZW51SXRlbVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBNZW51TGlua0l0ZW0gfSBmcm9tIFwiLi9NZW51TGlua0l0ZW1cIjtcbiIsImltcG9ydCBSZWFjdCwgeyBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBjbGFzc2NhdCBmcm9tIFwiY2xhc3NjYXRcIjtcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vTWVudS5tb2R1bGUuY3NzXCI7XG5cbnR5cGUgUGxhY2VtZW50ID0ge1xuICBob3Jpem9udGFsOiBcInJpZ2h0XCIgfCBcImxlZnRcIixcbiAgdmVydGljYWw6IFwidG9wXCIgfCBcImJvdHRvbVwiLFxufVxuXG50eXBlIE1lbnVQcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBpc09wZW4/OiBib29sZWFuO1xuICBoZWFkZXI/OiBzdHJpbmc7XG4gIHBsYWNlbWVudD86IFBsYWNlbWVudFxufTtcblxuXG5mdW5jdGlvbiBNZW51KHtcbiAgY2hpbGRyZW4sXG4gIGNsYXNzTmFtZSxcbiAgaXNPcGVuID0gdHJ1ZSxcbiAgcGxhY2VtZW50ID0geyBob3Jpem9udGFsOiBcImxlZnRcIiwgdmVydGljYWw6IFwiYm90dG9tXCIgfSxcbiAgaGVhZGVyXG59OiBNZW51UHJvcHMpIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e2NsYXNzY2F0KFtcbiAgICAgICAgc3R5bGVzLm1lbnUsXG4gICAgICAgIHN0eWxlc1twbGFjZW1lbnQuaG9yaXpvbnRhbF0sXG4gICAgICAgIHN0eWxlc1twbGFjZW1lbnQudmVydGljYWxdLFxuICAgICAgICB7IFtzdHlsZXMub3Blbl06IGlzT3BlbiB9LFxuICAgICAgICBjbGFzc05hbWUsXG4gICAgICBdKX1cbiAgICA+XG4gICAgICB7aGVhZGVyICYmIGlzT3BlbiAmJiA8aDMgY2xhc3NOYW1lPXtzdHlsZXMubWVudUhlYWRlcn0+e2hlYWRlcn08L2gzPn1cbiAgICAgIDx1bD57aXNPcGVuICYmIGNoaWxkcmVufTwvdWw+XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IE1lbnU7XG4iLCIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW5cbm1vZHVsZS5leHBvcnRzID0ge1wibWVudVwiOlwiXzJhaGk4SmNueEdIcm5abUQweFQ5UkxcIixcInRvcFwiOlwiXzNncEZUZDFGZHg0RUFmcTE3MFRHczdcIixcInJpZ2h0XCI6XCJfMUw1QVRwTTlHWHktU09SRnIwRzZTNFwiLFwibGVmdFwiOlwiQ1lFSmwzOVRrRWZuS2FsM3Z0dno5XCIsXCJib3R0b21cIjpcIl8zenlwLU5kVEJlQkRLdmsyNnBzWnVwXCIsXCJvcGVuXCI6XCJfMWlhYXppWnJWSV8tRThEOTlXZE5qaVwiLFwiZW50cmFuY2VcIjpcIl8yZmlLZTQtWDhQcWNHNF85cWVCM1pPXCIsXCJtZW51SGVhZGVyXCI6XCJfMTluazFJTU5TLXVfWUlRTGxtWVJ0VVwifTsiLCJpbXBvcnQgUmVhY3QsIHsgZm9yd2FyZFJlZiwgUmVhY3ROb2RlLCBSZWZPYmplY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBjbGFzc2NhdCBmcm9tIFwiY2xhc3NjYXRcIjtcblxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9NZW51Q29udGFpbmVyLm1vZHVsZS5jc3NcIjtcblxudHlwZSBNZW51Q29udGFpbmVyUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgcmVmPzogKCkgPT4gdm9pZCB8IHsgY3VycmVudDogYW55IH07XG59XG5cbmZ1bmN0aW9uIE1lbnVDb250YWluZXIoeyBjaGlsZHJlbiwgY2xhc3NOYW1lfTogTWVudUNvbnRhaW5lclByb3BzLCByZWY6IFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD4pIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17cmVmfSBjbGFzc05hbWU9e2NsYXNzY2F0KFtzdHlsZXMubWVudUNvbnRhaW5lciwgY2xhc3NOYW1lXSl9PlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvZGl2PlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmb3J3YXJkUmVmKE1lbnVDb250YWluZXIpO1xuIiwiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luXG5tb2R1bGUuZXhwb3J0cyA9IHtcIm1lbnVDb250YWluZXJcIjpcIl8yLVNGd3NwcEV1b2JCSmtBd3dRckZDXCJ9OyIsImltcG9ydCBSZWFjdCwgeyBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBjbGFzc2NhdCBmcm9tIFwiY2xhc3NjYXRcIjtcblxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9NZW51SXRlbS5tb2R1bGUuY3NzXCI7XG5cbnR5cGUgTWVudUl0ZW1Qcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBpc0FjdGl2ZT86IGJvb2xlYW4sXG4gIG9uQ2xpY2s/OiAoKSA9PiB2b2lkLFxufTtcblxuZnVuY3Rpb24gTWVudUl0ZW0oe1xuICBjaGlsZHJlbixcbiAgY2xhc3NOYW1lLFxuICBvbkNsaWNrLFxuICBpc0FjdGl2ZSA9IGZhbHNlXG59OiBNZW51SXRlbVByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPGxpXG4gICAgICBjbGFzc05hbWU9e2NsYXNzY2F0KFtcbiAgICAgICAgc3R5bGVzLm1lbnVJdGVtLFxuICAgICAgICB7IFtzdHlsZXMuYWN0aXZlXTogaXNBY3RpdmUgfSxcbiAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgXSl9XG4gICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L2xpPlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBNZW51SXRlbTtcbiIsIi8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpblxubW9kdWxlLmV4cG9ydHMgPSB7XCJtZW51SXRlbVwiOlwiXzNnR2N6Ukp3ck5lblhUQkxRbkMyOU1cIixcImFjdGl2ZVwiOlwiXzJqMWlsVU5rYkZHU2d1bFhTb0hBZFBcIn07IiwiaW1wb3J0IFJlYWN0LCB7IFJlYWN0Tm9kZSwgUmVhY3RUeXBlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgY2xhc3NjYXQgZnJvbSBcImNsYXNzY2F0XCI7XG5cbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vTWVudUxpbmtJdGVtLm1vZHVsZS5jc3NcIjtcblxudHlwZSBNZW51TGlua0l0ZW1Qcm9wcyA9IHtcbiAgYXM6IFJlYWN0VHlwZTtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgY2xhc3NOYW1lOiBzdHJpbmc7XG59IHwgYW55O1xuXG5mdW5jdGlvbiBNZW51TGlua0l0ZW0oe1xuICBhczogQ29tcG9uZW50LFxuICBjaGlsZHJlbixcbiAgY2xhc3NOYW1lLFxuICAuLi5wcm9wc1xufTogTWVudUxpbmtJdGVtUHJvcHMpIHtcbiAgaWYgKHR5cGVvZiBDb21wb25lbnQgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICBDb21wb25lbnQgPSBcImFcIjtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPENvbXBvbmVudFxuICAgICAgZGF0YS10ZXN0aWQ9XCJtZW51LWxpbmstaXRlbVwiXG4gICAgICBjbGFzc05hbWU9e2NsYXNzY2F0KFtzdHlsZXMubWVudUxpbmtJdGVtLCBjbGFzc05hbWVdKX1cbiAgICAgIHsuLi5wcm9wc31cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9Db21wb25lbnQ+XG4gICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IE1lbnVMaW5rSXRlbTtcbiIsIi8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpblxubW9kdWxlLmV4cG9ydHMgPSB7XCJtZW51TGlua0l0ZW1cIjpcIl8yRHkxTFRmU2NHWnRTYl81THVkLWxVXCIsXCJhY3RpdmVcIjpcIl8yVXdzN2JqM3llam1uMWs3WGl5S2ZRXCIsXCJtZW51SXRlbVwiOlwiXzJsSTdTMnQ1eldoUXN2Z19YblE3LS1cIn07IiwiZXhwb3J0IHsgZGVmYXVsdCBhcyBPdmVybGF5IH0gZnJvbSBcIi4vT3ZlcmxheVwiO1xuIiwiaW1wb3J0IFJlYWN0LCB7IFJlYWN0Tm9kZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGNsYXNzY2F0IGZyb20gXCJjbGFzc2NhdFwiO1xuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9PdmVybGF5Lm1vZHVsZS5jc3NcIjtcblxudHlwZSBPdmVybGF5UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIHRyYW5zcGFyZW50PzogYm9vbGVhbjtcbiAgaXNGaXhlZD86IGJvb2xlYW47XG4gIG9uQ2xpY2s/OiAoKSA9PiB2b2lkO1xufTtcblxuXG5mdW5jdGlvbiBPdmVybGF5KHtcbiAgY2hpbGRyZW4sXG4gIHRyYW5zcGFyZW50ID0gZmFsc2UsXG4gIGlzRml4ZWQgPSBmYWxzZSxcbiAgb25DbGljayA9ICgpID0+IHt9XG59OiBPdmVybGF5UHJvcHMpIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBkYXRhLXRlc3RpZD1cIm92ZXJsYXlcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc2NhdChbXG4gICAgICAgIHN0eWxlcy5vdmVybGF5LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlcy50cmFuc3BhcmVudF06IHRyYW5zcGFyZW50LFxuICAgICAgICAgIFtzdHlsZXMuZml4ZWRdOiBpc0ZpeGVkLFxuICAgICAgICB9LFxuICAgICAgXSl9XG4gICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgT3ZlcmxheTtcbiIsIi8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpblxubW9kdWxlLmV4cG9ydHMgPSB7XCJvdmVybGF5XCI6XCJfMlFncHlyRGNVUXlLWUVTQzVEWFhKclwiLFwidHJhbnNwYXJlbnRcIjpcIl8yOGZWbW94cDY5T1ByODhFdzB6VmVOXCIsXCJmaXhlZFwiOlwiXzJzVTM1MTVFYkZGZ2VQMXlLMlp1YnpcIn07IiwiZXhwb3J0IHsgZGVmYXVsdCBhcyBUZXh0SW5wdXQgfSBmcm9tIFwiLi9UZXh0SW5wdXRcIjtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjayB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGNsYXNzY2F0IGZyb20gXCJjbGFzc2NhdFwiO1xuXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL1RleHRJbnB1dC5tb2R1bGUuY3NzXCI7XG5pbXBvcnQgeyBTaXplLCBUZXh0SW5wdXRUeXBlIH0gZnJvbSBcIi4uLy4uL3R5cGVzXCI7XG5cbnR5cGUgVGV4dElucHV0UHJvcHMgPSB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIG9uQ2hhbmdlPzogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICB2YWx1ZT86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgdHlwZT86IFRleHRJbnB1dFR5cGU7XG4gIHNpemU/OiBTaXplO1xuICBhdXRvRm9jdXM/OiBib29sZWFuO1xuICBpbnB1dFJlZj86ICgpID0+IHZvaWQgfCB7IGN1cnJlbnQ6IGFueSB9XG59O1xuXG5mdW5jdGlvbiBUZXh0SW5wdXQoe1xuICBsYWJlbCxcbiAgb25DaGFuZ2UsXG4gIHBsYWNlaG9sZGVyLFxuICB2YWx1ZSxcbiAgbmFtZSxcbiAgaW5wdXRSZWYsXG4gIHNpemUgPSBcIm1lZGl1bVwiLFxuICBhdXRvRm9jdXMgPSBmYWxzZSxcbiAgdHlwZSA9IFwidGV4dFwiLFxufTogVGV4dElucHV0UHJvcHMpIHtcbiAgY29uc3QgaGFuZGxlQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgKGU6IFJlYWN0LkZvcm1FdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4gb25DaGFuZ2UoKGUudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlKSxcbiAgICBbb25DaGFuZ2VdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8bGFiZWwgY2xhc3NOYW1lPXtzdHlsZXMudGV4dExhYmVsfT5cbiAgICAgIHtsYWJlbH1cbiAgICAgIDxpbnB1dFxuICAgICAgICBkYXRhLXRlc3RpZD1cImlucHV0XCJcbiAgICAgICAgcmVmPXtpbnB1dFJlZn1cbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2NhdChbc3R5bGVzLnRleHRJbnB1dCwgc3R5bGVzW3NpemVdXSl9XG4gICAgICAgIG9uQ2hhbmdlPXshaW5wdXRSZWYgPyBoYW5kbGVDaGFuZ2UgOiB1bmRlZmluZWR9XG4gICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgdHlwZT17dHlwZX1cbiAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICBhdXRvRm9jdXM9e2F1dG9Gb2N1c31cbiAgICAgIC8+XG4gICAgPC9sYWJlbD5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgVGV4dElucHV0O1xuIiwiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luXG5tb2R1bGUuZXhwb3J0cyA9IHtcInRleHRJbnB1dFwiOlwiXzJ3ZnFPeldCb0FuX0s3Z29xdmpYSmVcIixcInNtYWxsXCI6XCJfMWE0UU9WSkIwelczVXJmXzVocU5qalwiLFwibWVkaXVtXCI6XCJfM1VKb2U4bmxwemhWVG1DMDlUVnNvLVwiLFwibGFyZ2VcIjpcIl8zRFE1MlFkXzFLNF9WeHhWdjcyOFNYXCIsXCJ0ZXh0TGFiZWxcIjpcIl8zMW9BQU9FX2R2R29BejlxSm1vOEVHXCJ9OyIsImV4cG9ydCB7IGRlZmF1bHQgYXMgVG9hc3QgfSBmcm9tIFwiLi9Ub2FzdFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBUb2FzdENvbnRhaW5lciB9IGZyb20gXCIuL1RvYXN0Q29udGFpbmVyXCI7XG4iLCJpbXBvcnQgUmVhY3QsIHsgUmVhY3ROb2RlLCBSZWFjdE5vZGVBcnJheSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGNsYXNzY2F0IGZyb20gXCJjbGFzc2NhdFwiO1xuXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL1RvYXN0Lm1vZHVsZS5jc3NcIjtcblxudHlwZSBJbWFnZVR5cGUgPSB7XG4gIHNyYzogc3RyaW5nO1xuICBhbHQ6IHN0cmluZztcbn1cblxudHlwZSBUb2FzdFByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlLFxuICBidXR0b25zOiBSZWFjdE5vZGVBcnJheSxcbiAgaW1hZ2U/OiBJbWFnZVR5cGUsXG4gIG9uQ2xpY2s/OiAoKSA9PiB2b2lkLFxufTtcblxuZnVuY3Rpb24gVG9hc3QoeyBjaGlsZHJlbiwgaW1hZ2UsIGJ1dHRvbnMsIG9uQ2xpY2sgPSAoKSA9PiB7fX06IFRvYXN0UHJvcHMpIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e2NsYXNzY2F0KFtzdHlsZXMudG9hc3RdKX1cbiAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgICBkYXRhLXRlc3RpZD1cInRvYXN0XCJcbiAgICA+XG4gICAgICB7aW1hZ2UgJiYgKFxuICAgICAgICA8aW1nXG4gICAgICAgICAgZGF0YS10ZXN0aWQ9XCJ0b2FzdC1pbWFnZVwiXG4gICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXMudG9hc3RJbWFnZX1cbiAgICAgICAgICBzcmM9e2ltYWdlLnNyY31cbiAgICAgICAgICBhbHQ9e2ltYWdlLmFsdH1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLnRvYXN0Q29udGVudH0+e2NoaWxkcmVufTwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy50b2FzdEJ1dHRvbnN9PntidXR0b25zfTwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBUb2FzdDtcbiIsIi8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpblxubW9kdWxlLmV4cG9ydHMgPSB7XCJ0b2FzdFwiOlwiXzNzQnNfRVJYVjNrMFNRTUdVeTJXajRcIixcImVudHJhbmNlXCI6XCJfMV94anRMZVVNb0VYTkEtcU9FWmhjeFwiLFwidG9hc3RDb250ZW50XCI6XCJfMTBsQkVUQ1UzVU5GUjhweTFxMXEtaFwiLFwidG9hc3RJbWFnZVwiOlwiXzNDaTB3cE9iazZvcWY3ZHdrSHNGV29cIixcInRvYXN0QnV0dG9uc1wiOlwiRkVXRG5Ec1AtOUE5SkhHMjBxQlM1XCJ9OyIsImltcG9ydCBSZWFjdCwgeyBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIjtcblxuaW1wb3J0IGNsYXNzY2F0IGZyb20gXCJjbGFzc2NhdFwiO1xuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9Ub2FzdENvbnRhaW5lci5tb2R1bGUuY3NzXCI7XG5cbnR5cGUgVG9hc3RDb250YWluZXJQcm9wcyA9IHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG59XG5mdW5jdGlvbiBUb2FzdENvbnRhaW5lcih7IGNoaWxkcmVuIH06IFRvYXN0Q29udGFpbmVyUHJvcHMpIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e2NsYXNzY2F0KFtzdHlsZXMudG9hc3RDb250YWluZXJdKX1cbiAgICAgIGRhdGEtdGVzdGlkPVwidG9hc3QtY29udGFpbmVyXCJcbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IFRvYXN0Q29udGFpbmVyO1xuIiwiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luXG5tb2R1bGUuZXhwb3J0cyA9IHtcInRvYXN0Q29udGFpbmVyXCI6XCJfM0Y4Y0pVMXdtS21icmppZGctTzN6cFwifTsiLCJleHBvcnQgeyBkZWZhdWx0IGFzIFZpZGVvIH0gZnJvbSBcIi4vVmlkZW9cIjtcbiIsImltcG9ydCBSZWFjdCwgeyBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBjbGFzc2NhdCBmcm9tIFwiY2xhc3NjYXRcIjtcblxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9WaWRlby5tb2R1bGUuY3NzXCI7XG5cbi8qKlxuICogVGhlcmUgaXMgYSBrbm93biBpc3N1ZSBpbiBSZWFjdCBpbiByZWdhcmRzIHRvIHRoZSAnbXV0ZWQnIHByb3BlcnR5IHdoaWNoIGNhdXNlcyB0aGUgd2FybmluZzpcbiAqIFwiV2FybmluZzogdW5zdGFibGVfZmx1c2hEaXNjcmV0ZVVwZGF0ZXM6IENhbm5vdCBmbHVzaCB1cGRhdGVzIHdoZW4gUmVhY3QgaXMgYWxyZWFkeSByZW5kZXJpbmcuXCJcbiAqXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEwMzg5XG4gKiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzY1NDRcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS90ZXN0aW5nLWxpYnJhcnkvcmVhY3QtdGVzdGluZy1saWJyYXJ5L2lzc3Vlcy80NzBcbiAqL1xuXG50eXBlIExheW91dCA9IFwiY292ZXJcIiB8IFwiY29udGFpblwiIHwgXCJzdHJldGNoSG9yaXpvbnRhbGx5XCIgfCBcInN0cmV0Y2hWZXJ0aWNhbGx5XCI7XG5cbnR5cGUgVmlkZW9Qcm9wcyA9IHtcbiAgc3JjOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgbGF5b3V0PzogTGF5b3V0LFxuICBhdXRvUGxheT86IGJvb2xlYW47XG4gIGxvb3A/OiBib29sZWFuO1xuICBtdXRlZD86IGJvb2xlYW47XG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xufTtcblxuZnVuY3Rpb24gVmlkZW8oe1xuICBzcmMsXG4gIHR5cGUsXG4gIGNoaWxkcmVuLFxuICBtdXRlZCA9IHRydWUsXG4gIGxvb3AgPSB0cnVlLFxuICBhdXRvUGxheSA9IHRydWUsXG4gIGxheW91dCA9IFwiY29udGFpblwiXG59OiBWaWRlb1Byb3BzKSB7XG4gIHJldHVybiBjaGlsZHJlbiA/IChcbiAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NjYXQoW3N0eWxlcy5jb250YWluZXIsIHN0eWxlcy5oYXNPdmVybGF5XSl9PlxuICAgICAgPHZpZGVvXG4gICAgICAgIGRhdGEtdGVzdGlkPVwidmlkZW9cIlxuICAgICAgICBjcm9zc09yaWdpbj1cImFub255bW91c1wiXG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NjYXQoW3N0eWxlcy52aWRlbywgc3R5bGVzW2xheW91dF1dKX1cbiAgICAgICAgbXV0ZWQ9e211dGVkfVxuICAgICAgICBsb29wPXtsb29wfVxuICAgICAgICBhdXRvUGxheT17YXV0b1BsYXl9XG4gICAgICAgIHBsYXlzSW5saW5lPXt0cnVlfVxuICAgICAgPlxuICAgICAgICA8c291cmNlIGRhdGEtdGVzdGlkPVwic291cmNlXCIgc3JjPXtzcmN9IHR5cGU9e3R5cGV9IC8+XG4gICAgICA8L3ZpZGVvPlxuICAgICAge2NoaWxkcmVuICYmIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMub3ZlcmxheX0+e2NoaWxkcmVufTwvZGl2Pn1cbiAgICA8L2Rpdj5cbiAgKSA6IChcbiAgICA8dmlkZW9cbiAgICAgIGRhdGEtdGVzdGlkPVwidmlkZW9cIlxuICAgICAgY3Jvc3NPcmlnaW49XCJhbm9ueW1vdXNcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc2NhdChbc3R5bGVzLnZpZGVvLCBzdHlsZXNbbGF5b3V0XV0pfVxuICAgICAgbXV0ZWQ9e211dGVkfVxuICAgICAgbG9vcD17bG9vcH1cbiAgICAgIGF1dG9QbGF5PXthdXRvUGxheX1cbiAgICAgIHBsYXlzSW5saW5lPXt0cnVlfVxuICAgID5cbiAgICAgIDxzb3VyY2UgZGF0YS10ZXN0aWQ9XCJzb3VyY2VcIiBzcmM9e3NyY30gdHlwZT17dHlwZX0gLz5cbiAgICA8L3ZpZGVvPlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBWaWRlbztcbiIsIi8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpblxubW9kdWxlLmV4cG9ydHMgPSB7XCJjb250YWluZXJcIjpcIl8yRVFCZnI1dzhoMXgxYnEtMmZwNndUXCIsXCJoYXNPdmVybGF5XCI6XCJfM0dSTXBtR2tfUHFJVGNVdjBOZm10M1wiLFwidmlkZW9cIjpcIl8ydFpmWGtFaENrd0F6ZmFHX0JWbjBCXCIsXCJjb3ZlclwiOlwiXzNPWUhmYnphTDNRSGFuV1pCajhSeE9cIixcImNvbnRhaW5cIjpcIl8zSV9jN3NoY1NydEdfRnh2dlUySWVFXCIsXCJzdHJldGNoSG9yaXpvbnRhbGx5XCI6XCJfMVo3ZEw5dUVkMEtzeDNDa3JaaHNCOFwiLFwic3RyZXRjaFZlcnRpY2FsbHlcIjpcIl8xemJyRFlPMGZZRkpWYzd4dnNUWWk2XCIsXCJvdmVybGF5XCI6XCJfMm9zWGQ3U2t3RjBMaC0yeWlxdVlRTVwifTsiLCJleHBvcnQgeyBkZWZhdWx0IGFzIHVzZVRvZ2dsZSB9IGZyb20gXCIuL3VzZVRvZ2dsZVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyB1c2VPdXRzaWRlQ2xpY2sgfSBmcm9tIFwiLi91c2VPdXRzaWRlQ2xpY2tcIjtcbiIsImltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VUb2dnbGUoaW5pdGlhbFZhbHVlOiBib29sZWFuID0gZmFsc2UpOiBbYm9vbGVhbiwgKG5ld1ZhbHVlPzogYm9vbGVhbikgPT4gdm9pZF0gIHtcbiAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSB1c2VTdGF0ZTxib29sZWFuPihpbml0aWFsVmFsdWUpO1xuXG4gIGNvbnN0IHRvZ2dsZSA9IChuZXdWYWx1ZT86IGJvb2xlYW4pID0+IHtcbiAgICByZXR1cm4gc2V0VmFsdWUocHJldlZhbHVlID0+IHtcbiAgICAgIHJldHVybiB0eXBlb2YgbmV3VmFsdWUgIT09ICd1bmRlZmluZWQnID8gbmV3VmFsdWUgOiAhcHJldlZhbHVlO1xuICAgIH0pXG4gIH07XG5cbiAgcmV0dXJuIFt2YWx1ZSwgdXNlQ2FsbGJhY2sodG9nZ2xlLCBbXSldO1xufVxuIiwiaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tIFwicmVhY3RcIjtcblxudHlwZSBDYWxsYmFjayA9IChldmVudDogRXZlbnQpID0+IHZvaWQ7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZU91dHNpZGVDbGljayhjYWxsYmFjazogQ2FsbGJhY2spIHtcbiAgY29uc3QgcmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PigpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoZXZlbnQ6IEV2ZW50KSA9PiB7XG4gICAgICBpZiAoIXJlZi5jdXJyZW50IHx8IHJlZi5jdXJyZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBOb2RlKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNhbGxiYWNrKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIGhhbmRsZUNsaWNrKTtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwidG91Y2hzdGFydFwiLCBoYW5kbGVDbGljayk7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIGhhbmRsZUNsaWNrKTtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJ0b3VjaHN0YXJ0XCIsIGhhbmRsZUNsaWNrKTtcbiAgICB9O1xuICB9LCBbY2FsbGJhY2tdKTtcblxuICByZXR1cm4gcmVmO1xufVxuIiwiLyohXG4gKiBob3RrZXlzLWpzIHYzLjguMVxuICogQSBzaW1wbGUgbWljcm8tbGlicmFyeSBmb3IgZGVmaW5pbmcgYW5kIGRpc3BhdGNoaW5nIGtleWJvYXJkIHNob3J0Y3V0cy4gSXQgaGFzIG5vIGRlcGVuZGVuY2llcy5cbiAqIFxuICogQ29weXJpZ2h0IChjKSAyMDIwIGtlbm55IHdvbmcgPHdvd29ob29AcXEuY29tPlxuICogaHR0cDovL2pheXdjamxvdmUuZ2l0aHViLmlvL2hvdGtleXNcbiAqIFxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxuICovXG5cbnZhciBpc2ZmID0gdHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgPyBuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkuaW5kZXhPZignZmlyZWZveCcpID4gMCA6IGZhbHNlOyAvLyDnu5Hlrprkuovku7ZcblxuZnVuY3Rpb24gYWRkRXZlbnQob2JqZWN0LCBldmVudCwgbWV0aG9kKSB7XG4gIGlmIChvYmplY3QuYWRkRXZlbnRMaXN0ZW5lcikge1xuICAgIG9iamVjdC5hZGRFdmVudExpc3RlbmVyKGV2ZW50LCBtZXRob2QsIGZhbHNlKTtcbiAgfSBlbHNlIGlmIChvYmplY3QuYXR0YWNoRXZlbnQpIHtcbiAgICBvYmplY3QuYXR0YWNoRXZlbnQoXCJvblwiLmNvbmNhdChldmVudCksIGZ1bmN0aW9uICgpIHtcbiAgICAgIG1ldGhvZCh3aW5kb3cuZXZlbnQpO1xuICAgIH0pO1xuICB9XG59IC8vIOS/rumlsOmUrui9rOaNouaIkOWvueW6lOeahOmUrueggVxuXG5cbmZ1bmN0aW9uIGdldE1vZHMobW9kaWZpZXIsIGtleSkge1xuICB2YXIgbW9kcyA9IGtleS5zbGljZSgwLCBrZXkubGVuZ3RoIC0gMSk7XG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBtb2RzLmxlbmd0aDsgaSsrKSB7XG4gICAgbW9kc1tpXSA9IG1vZGlmaWVyW21vZHNbaV0udG9Mb3dlckNhc2UoKV07XG4gIH1cblxuICByZXR1cm4gbW9kcztcbn0gLy8g5aSE55CG5Lyg55qEa2V55a2X56ym5Liy6L2s5o2i5oiQ5pWw57uEXG5cblxuZnVuY3Rpb24gZ2V0S2V5cyhrZXkpIHtcbiAgaWYgKHR5cGVvZiBrZXkgIT09ICdzdHJpbmcnKSBrZXkgPSAnJztcbiAga2V5ID0ga2V5LnJlcGxhY2UoL1xccy9nLCAnJyk7IC8vIOWMuemFjeS7u+S9leepuueZveWtl+espizljIXmi6znqbrmoLzjgIHliLbooajnrKbjgIHmjaLpobXnrKbnrYnnrYlcblxuICB2YXIga2V5cyA9IGtleS5zcGxpdCgnLCcpOyAvLyDlkIzml7borr7nva7lpJrkuKrlv6vmjbfplK7vvIzku6UnLCfliIblibJcblxuICB2YXIgaW5kZXggPSBrZXlzLmxhc3RJbmRleE9mKCcnKTsgLy8g5b+r5o236ZSu5Y+v6IO95YyF5ZCrJywn77yM6ZyA54m55q6K5aSE55CGXG5cbiAgZm9yICg7IGluZGV4ID49IDA7KSB7XG4gICAga2V5c1tpbmRleCAtIDFdICs9ICcsJztcbiAgICBrZXlzLnNwbGljZShpbmRleCwgMSk7XG4gICAgaW5kZXggPSBrZXlzLmxhc3RJbmRleE9mKCcnKTtcbiAgfVxuXG4gIHJldHVybiBrZXlzO1xufSAvLyDmr5TovoPkv67ppbDplK7nmoTmlbDnu4RcblxuXG5mdW5jdGlvbiBjb21wYXJlQXJyYXkoYTEsIGEyKSB7XG4gIHZhciBhcnIxID0gYTEubGVuZ3RoID49IGEyLmxlbmd0aCA/IGExIDogYTI7XG4gIHZhciBhcnIyID0gYTEubGVuZ3RoID49IGEyLmxlbmd0aCA/IGEyIDogYTE7XG4gIHZhciBpc0luZGV4ID0gdHJ1ZTtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGFycjEubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoYXJyMi5pbmRleE9mKGFycjFbaV0pID09PSAtMSkgaXNJbmRleCA9IGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIGlzSW5kZXg7XG59XG5cbnZhciBfa2V5TWFwID0ge1xuICBiYWNrc3BhY2U6IDgsXG4gIHRhYjogOSxcbiAgY2xlYXI6IDEyLFxuICBlbnRlcjogMTMsXG4gIHJldHVybjogMTMsXG4gIGVzYzogMjcsXG4gIGVzY2FwZTogMjcsXG4gIHNwYWNlOiAzMixcbiAgbGVmdDogMzcsXG4gIHVwOiAzOCxcbiAgcmlnaHQ6IDM5LFxuICBkb3duOiA0MCxcbiAgZGVsOiA0NixcbiAgZGVsZXRlOiA0NixcbiAgaW5zOiA0NSxcbiAgaW5zZXJ0OiA0NSxcbiAgaG9tZTogMzYsXG4gIGVuZDogMzUsXG4gIHBhZ2V1cDogMzMsXG4gIHBhZ2Vkb3duOiAzNCxcbiAgY2Fwc2xvY2s6IDIwLFxuICAn4oeqJzogMjAsXG4gICcsJzogMTg4LFxuICAnLic6IDE5MCxcbiAgJy8nOiAxOTEsXG4gICdgJzogMTkyLFxuICAnLSc6IGlzZmYgPyAxNzMgOiAxODksXG4gICc9JzogaXNmZiA/IDYxIDogMTg3LFxuICAnOyc6IGlzZmYgPyA1OSA6IDE4NixcbiAgJ1xcJyc6IDIyMixcbiAgJ1snOiAyMTksXG4gICddJzogMjIxLFxuICAnXFxcXCc6IDIyMFxufTsgLy8gTW9kaWZpZXIgS2V5c1xuXG52YXIgX21vZGlmaWVyID0ge1xuICAvLyBzaGlmdEtleVxuICAn4oenJzogMTYsXG4gIHNoaWZ0OiAxNixcbiAgLy8gYWx0S2V5XG4gICfijKUnOiAxOCxcbiAgYWx0OiAxOCxcbiAgb3B0aW9uOiAxOCxcbiAgLy8gY3RybEtleVxuICAn4oyDJzogMTcsXG4gIGN0cmw6IDE3LFxuICBjb250cm9sOiAxNyxcbiAgLy8gbWV0YUtleVxuICAn4oyYJzogOTEsXG4gIGNtZDogOTEsXG4gIGNvbW1hbmQ6IDkxXG59O1xudmFyIG1vZGlmaWVyTWFwID0ge1xuICAxNjogJ3NoaWZ0S2V5JyxcbiAgMTg6ICdhbHRLZXknLFxuICAxNzogJ2N0cmxLZXknLFxuICA5MTogJ21ldGFLZXknLFxuICBzaGlmdEtleTogMTYsXG4gIGN0cmxLZXk6IDE3LFxuICBhbHRLZXk6IDE4LFxuICBtZXRhS2V5OiA5MVxufTtcbnZhciBfbW9kcyA9IHtcbiAgMTY6IGZhbHNlLFxuICAxODogZmFsc2UsXG4gIDE3OiBmYWxzZSxcbiAgOTE6IGZhbHNlXG59O1xudmFyIF9oYW5kbGVycyA9IHt9OyAvLyBGMX5GMTIgc3BlY2lhbCBrZXlcblxuZm9yICh2YXIgayA9IDE7IGsgPCAyMDsgaysrKSB7XG4gIF9rZXlNYXBbXCJmXCIuY29uY2F0KGspXSA9IDExMSArIGs7XG59XG5cbnZhciBfZG93bktleXMgPSBbXTsgLy8g6K6w5b2V5pGB5LiL55qE57uR5a6a6ZSuXG5cbnZhciBfc2NvcGUgPSAnYWxsJzsgLy8g6buY6K6k54Ot6ZSu6IyD5Zu0XG5cbnZhciBlbGVtZW50SGFzQmluZEV2ZW50ID0gW107IC8vIOW3sue7keWumuS6i+S7tueahOiKgueCueiusOW9lVxuLy8g6L+U5Zue6ZSu56CBXG5cbnZhciBjb2RlID0gZnVuY3Rpb24gY29kZSh4KSB7XG4gIHJldHVybiBfa2V5TWFwW3gudG9Mb3dlckNhc2UoKV0gfHwgX21vZGlmaWVyW3gudG9Mb3dlckNhc2UoKV0gfHwgeC50b1VwcGVyQ2FzZSgpLmNoYXJDb2RlQXQoMCk7XG59OyAvLyDorr7nva7ojrflj5blvZPliY3ojIPlm7TvvIjpu5jorqTkuLon5omA5pyJJ++8iVxuXG5cbmZ1bmN0aW9uIHNldFNjb3BlKHNjb3BlKSB7XG4gIF9zY29wZSA9IHNjb3BlIHx8ICdhbGwnO1xufSAvLyDojrflj5blvZPliY3ojIPlm7RcblxuXG5mdW5jdGlvbiBnZXRTY29wZSgpIHtcbiAgcmV0dXJuIF9zY29wZSB8fCAnYWxsJztcbn0gLy8g6I635Y+W5pGB5LiL57uR5a6a6ZSu55qE6ZSu5YC8XG5cblxuZnVuY3Rpb24gZ2V0UHJlc3NlZEtleUNvZGVzKCkge1xuICByZXR1cm4gX2Rvd25LZXlzLnNsaWNlKDApO1xufSAvLyDooajljZXmjqfku7bmjqfku7bliKTmlq0g6L+U5ZueIEJvb2xlYW5cbi8vIGhvdGtleSBpcyBlZmZlY3RpdmUgb25seSB3aGVuIGZpbHRlciByZXR1cm4gdHJ1ZVxuXG5cbmZ1bmN0aW9uIGZpbHRlcihldmVudCkge1xuICB2YXIgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IHx8IGV2ZW50LnNyY0VsZW1lbnQ7XG4gIHZhciB0YWdOYW1lID0gdGFyZ2V0LnRhZ05hbWU7XG4gIHZhciBmbGFnID0gdHJ1ZTsgLy8gaWdub3JlOiBpc0NvbnRlbnRFZGl0YWJsZSA9PT0gJ3RydWUnLCA8aW5wdXQ+IGFuZCA8dGV4dGFyZWE+IHdoZW4gcmVhZE9ubHkgc3RhdGUgaXMgZmFsc2UsIDxzZWxlY3Q+XG5cbiAgaWYgKHRhcmdldC5pc0NvbnRlbnRFZGl0YWJsZSB8fCAodGFnTmFtZSA9PT0gJ0lOUFVUJyB8fCB0YWdOYW1lID09PSAnVEVYVEFSRUEnIHx8IHRhZ05hbWUgPT09ICdTRUxFQ1QnKSAmJiAhdGFyZ2V0LnJlYWRPbmx5KSB7XG4gICAgZmxhZyA9IGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIGZsYWc7XG59IC8vIOWIpOaWreaRgeS4i+eahOmUruaYr+WQpuS4uuafkOS4qumUru+8jOi/lOWbnnRydWXmiJbogIVmYWxzZVxuXG5cbmZ1bmN0aW9uIGlzUHJlc3NlZChrZXlDb2RlKSB7XG4gIGlmICh0eXBlb2Yga2V5Q29kZSA9PT0gJ3N0cmluZycpIHtcbiAgICBrZXlDb2RlID0gY29kZShrZXlDb2RlKTsgLy8g6L2s5o2i5oiQ6ZSu56CBXG4gIH1cblxuICByZXR1cm4gX2Rvd25LZXlzLmluZGV4T2Yoa2V5Q29kZSkgIT09IC0xO1xufSAvLyDlvqrnjq/liKDpmaRoYW5kbGVyc+S4reeahOaJgOaciSBzY29wZSjojIPlm7QpXG5cblxuZnVuY3Rpb24gZGVsZXRlU2NvcGUoc2NvcGUsIG5ld1Njb3BlKSB7XG4gIHZhciBoYW5kbGVycztcbiAgdmFyIGk7IC8vIOayoeacieaMh+WumnNjb3Bl77yM6I635Y+Wc2NvcGVcblxuICBpZiAoIXNjb3BlKSBzY29wZSA9IGdldFNjb3BlKCk7XG5cbiAgZm9yICh2YXIga2V5IGluIF9oYW5kbGVycykge1xuICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoX2hhbmRsZXJzLCBrZXkpKSB7XG4gICAgICBoYW5kbGVycyA9IF9oYW5kbGVyc1trZXldO1xuXG4gICAgICBmb3IgKGkgPSAwOyBpIDwgaGFuZGxlcnMubGVuZ3RoOykge1xuICAgICAgICBpZiAoaGFuZGxlcnNbaV0uc2NvcGUgPT09IHNjb3BlKSBoYW5kbGVycy5zcGxpY2UoaSwgMSk7ZWxzZSBpKys7XG4gICAgICB9XG4gICAgfVxuICB9IC8vIOWmguaenHNjb3Bl6KKr5Yig6Zmk77yM5bCGc2NvcGXph43nva7kuLphbGxcblxuXG4gIGlmIChnZXRTY29wZSgpID09PSBzY29wZSkgc2V0U2NvcGUobmV3U2NvcGUgfHwgJ2FsbCcpO1xufSAvLyDmuIXpmaTkv67ppbDplK5cblxuXG5mdW5jdGlvbiBjbGVhck1vZGlmaWVyKGV2ZW50KSB7XG4gIHZhciBrZXkgPSBldmVudC5rZXlDb2RlIHx8IGV2ZW50LndoaWNoIHx8IGV2ZW50LmNoYXJDb2RlO1xuXG4gIHZhciBpID0gX2Rvd25LZXlzLmluZGV4T2Yoa2V5KTsgLy8g5LuO5YiX6KGo5Lit5riF6Zmk5oyJ5Y6L6L+H55qE6ZSuXG5cblxuICBpZiAoaSA+PSAwKSB7XG4gICAgX2Rvd25LZXlzLnNwbGljZShpLCAxKTtcbiAgfSAvLyDnibnmrorlpITnkIYgY21tYW5kIOmUru+8jOWcqCBjbW1hbmQg57uE5ZCI5b+r5o236ZSuIGtleXVwIOWPquaJp+ihjOS4gOasoeeahOmXrumimFxuXG5cbiAgaWYgKGV2ZW50LmtleSAmJiBldmVudC5rZXkudG9Mb3dlckNhc2UoKSA9PT0gJ21ldGEnKSB7XG4gICAgX2Rvd25LZXlzLnNwbGljZSgwLCBfZG93bktleXMubGVuZ3RoKTtcbiAgfSAvLyDkv67ppbDplK4gc2hpZnRLZXkgYWx0S2V5IGN0cmxLZXkgKGNvbW1hbmR8fG1ldGFLZXkpIOa4hemZpFxuXG5cbiAgaWYgKGtleSA9PT0gOTMgfHwga2V5ID09PSAyMjQpIGtleSA9IDkxO1xuXG4gIGlmIChrZXkgaW4gX21vZHMpIHtcbiAgICBfbW9kc1trZXldID0gZmFsc2U7IC8vIOWwhuS/rumlsOmUrumHjee9ruS4umZhbHNlXG5cbiAgICBmb3IgKHZhciBrIGluIF9tb2RpZmllcikge1xuICAgICAgaWYgKF9tb2RpZmllcltrXSA9PT0ga2V5KSBob3RrZXlzW2tdID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHVuYmluZChrZXlzSW5mbykge1xuICAvLyB1bmJpbmQoKSwgdW5iaW5kIGFsbCBrZXlzXG4gIGlmICgha2V5c0luZm8pIHtcbiAgICBPYmplY3Qua2V5cyhfaGFuZGxlcnMpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICAgICAgcmV0dXJuIGRlbGV0ZSBfaGFuZGxlcnNba2V5XTtcbiAgICB9KTtcbiAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGtleXNJbmZvKSkge1xuICAgIC8vIHN1cHBvcnQgbGlrZSA6IHVuYmluZChbe2tleTogJ2N0cmwrYScsIHNjb3BlOiAnczEnfSwge2tleTogJ2N0cmwtYScsIHNjb3BlOiAnczInLCBzcGxpdEtleTogJy0nfV0pXG4gICAga2V5c0luZm8uZm9yRWFjaChmdW5jdGlvbiAoaW5mbykge1xuICAgICAgaWYgKGluZm8ua2V5KSBlYWNoVW5iaW5kKGluZm8pO1xuICAgIH0pO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBrZXlzSW5mbyA9PT0gJ29iamVjdCcpIHtcbiAgICAvLyBzdXBwb3J0IGxpa2UgdW5iaW5kKHtrZXk6ICdjdHJsK2EsIGN0cmwrYicsIHNjb3BlOidhYmMnfSlcbiAgICBpZiAoa2V5c0luZm8ua2V5KSBlYWNoVW5iaW5kKGtleXNJbmZvKTtcbiAgfSBlbHNlIGlmICh0eXBlb2Yga2V5c0luZm8gPT09ICdzdHJpbmcnKSB7XG4gICAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiA+IDEgPyBfbGVuIC0gMSA6IDApLCBfa2V5ID0gMTsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgICAgYXJnc1tfa2V5IC0gMV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgfVxuXG4gICAgLy8gc3VwcG9ydCBvbGQgbWV0aG9kXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuICAgIHZhciBzY29wZSA9IGFyZ3NbMF0sXG4gICAgICAgIG1ldGhvZCA9IGFyZ3NbMV07XG5cbiAgICBpZiAodHlwZW9mIHNjb3BlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBtZXRob2QgPSBzY29wZTtcbiAgICAgIHNjb3BlID0gJyc7XG4gICAgfVxuXG4gICAgZWFjaFVuYmluZCh7XG4gICAgICBrZXk6IGtleXNJbmZvLFxuICAgICAgc2NvcGU6IHNjb3BlLFxuICAgICAgbWV0aG9kOiBtZXRob2QsXG4gICAgICBzcGxpdEtleTogJysnXG4gICAgfSk7XG4gIH1cbn0gLy8g6Kej6Zmk57uR5a6a5p+Q5Liq6IyD5Zu055qE5b+r5o236ZSuXG5cblxudmFyIGVhY2hVbmJpbmQgPSBmdW5jdGlvbiBlYWNoVW5iaW5kKF9yZWYpIHtcbiAgdmFyIGtleSA9IF9yZWYua2V5LFxuICAgICAgc2NvcGUgPSBfcmVmLnNjb3BlLFxuICAgICAgbWV0aG9kID0gX3JlZi5tZXRob2QsXG4gICAgICBfcmVmJHNwbGl0S2V5ID0gX3JlZi5zcGxpdEtleSxcbiAgICAgIHNwbGl0S2V5ID0gX3JlZiRzcGxpdEtleSA9PT0gdm9pZCAwID8gJysnIDogX3JlZiRzcGxpdEtleTtcbiAgdmFyIG11bHRpcGxlS2V5cyA9IGdldEtleXMoa2V5KTtcbiAgbXVsdGlwbGVLZXlzLmZvckVhY2goZnVuY3Rpb24gKG9yaWdpbktleSkge1xuICAgIHZhciB1bmJpbmRLZXlzID0gb3JpZ2luS2V5LnNwbGl0KHNwbGl0S2V5KTtcbiAgICB2YXIgbGVuID0gdW5iaW5kS2V5cy5sZW5ndGg7XG4gICAgdmFyIGxhc3RLZXkgPSB1bmJpbmRLZXlzW2xlbiAtIDFdO1xuICAgIHZhciBrZXlDb2RlID0gbGFzdEtleSA9PT0gJyonID8gJyonIDogY29kZShsYXN0S2V5KTtcbiAgICBpZiAoIV9oYW5kbGVyc1trZXlDb2RlXSkgcmV0dXJuOyAvLyDliKTmlq3mmK/lkKbkvKDlhaXojIPlm7TvvIzmsqHmnInlsLHojrflj5bojIPlm7RcblxuICAgIGlmICghc2NvcGUpIHNjb3BlID0gZ2V0U2NvcGUoKTtcbiAgICB2YXIgbW9kcyA9IGxlbiA+IDEgPyBnZXRNb2RzKF9tb2RpZmllciwgdW5iaW5kS2V5cykgOiBbXTtcbiAgICBfaGFuZGxlcnNba2V5Q29kZV0gPSBfaGFuZGxlcnNba2V5Q29kZV0ubWFwKGZ1bmN0aW9uIChyZWNvcmQpIHtcbiAgICAgIC8vIOmAmui/h+WHveaVsOWIpOaWre+8jOaYr+WQpuino+mZpOe7keWumu+8jOWHveaVsOebuOetieebtOaOpei/lOWbnlxuICAgICAgdmFyIGlzTWF0Y2hpbmdNZXRob2QgPSBtZXRob2QgPyByZWNvcmQubWV0aG9kID09PSBtZXRob2QgOiB0cnVlO1xuXG4gICAgICBpZiAoaXNNYXRjaGluZ01ldGhvZCAmJiByZWNvcmQuc2NvcGUgPT09IHNjb3BlICYmIGNvbXBhcmVBcnJheShyZWNvcmQubW9kcywgbW9kcykpIHtcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVjb3JkO1xuICAgIH0pO1xuICB9KTtcbn07IC8vIOWvueebkeWQrOWvueW6lOW/q+aNt+mUrueahOWbnuiwg+WHveaVsOi/m+ihjOWkhOeQhlxuXG5cbmZ1bmN0aW9uIGV2ZW50SGFuZGxlcihldmVudCwgaGFuZGxlciwgc2NvcGUpIHtcbiAgdmFyIG1vZGlmaWVyc01hdGNoOyAvLyDnnIvlroPmmK/lkKblnKjlvZPliY3ojIPlm7RcblxuICBpZiAoaGFuZGxlci5zY29wZSA9PT0gc2NvcGUgfHwgaGFuZGxlci5zY29wZSA9PT0gJ2FsbCcpIHtcbiAgICAvLyDmo4Dmn6XmmK/lkKbljLnphY3kv67ppbDnrKbvvIjlpoLmnpzmnInov5Tlm550cnVl77yJXG4gICAgbW9kaWZpZXJzTWF0Y2ggPSBoYW5kbGVyLm1vZHMubGVuZ3RoID4gMDtcblxuICAgIGZvciAodmFyIHkgaW4gX21vZHMpIHtcbiAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoX21vZHMsIHkpKSB7XG4gICAgICAgIGlmICghX21vZHNbeV0gJiYgaGFuZGxlci5tb2RzLmluZGV4T2YoK3kpID4gLTEgfHwgX21vZHNbeV0gJiYgaGFuZGxlci5tb2RzLmluZGV4T2YoK3kpID09PSAtMSkge1xuICAgICAgICAgIG1vZGlmaWVyc01hdGNoID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IC8vIOiwg+eUqOWkhOeQhueoi+W6j++8jOWmguaenOaYr+S/rumlsOmUruS4jeWBmuWkhOeQhlxuXG5cbiAgICBpZiAoaGFuZGxlci5tb2RzLmxlbmd0aCA9PT0gMCAmJiAhX21vZHNbMTZdICYmICFfbW9kc1sxOF0gJiYgIV9tb2RzWzE3XSAmJiAhX21vZHNbOTFdIHx8IG1vZGlmaWVyc01hdGNoIHx8IGhhbmRsZXIuc2hvcnRjdXQgPT09ICcqJykge1xuICAgICAgaWYgKGhhbmRsZXIubWV0aG9kKGV2ZW50LCBoYW5kbGVyKSA9PT0gZmFsc2UpIHtcbiAgICAgICAgaWYgKGV2ZW50LnByZXZlbnREZWZhdWx0KSBldmVudC5wcmV2ZW50RGVmYXVsdCgpO2Vsc2UgZXZlbnQucmV0dXJuVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgaWYgKGV2ZW50LnN0b3BQcm9wYWdhdGlvbikgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGlmIChldmVudC5jYW5jZWxCdWJibGUpIGV2ZW50LmNhbmNlbEJ1YmJsZSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG59IC8vIOWkhOeQhmtleWRvd27kuovku7ZcblxuXG5mdW5jdGlvbiBkaXNwYXRjaChldmVudCkge1xuICB2YXIgYXN0ZXJpc2sgPSBfaGFuZGxlcnNbJyonXTtcbiAgdmFyIGtleSA9IGV2ZW50LmtleUNvZGUgfHwgZXZlbnQud2hpY2ggfHwgZXZlbnQuY2hhckNvZGU7IC8vIOihqOWNleaOp+S7tui/h+a7pCDpu5jorqTooajljZXmjqfku7bkuI3op6blj5Hlv6vmjbfplK5cblxuICBpZiAoIWhvdGtleXMuZmlsdGVyLmNhbGwodGhpcywgZXZlbnQpKSByZXR1cm47IC8vIEdlY2tvKEZpcmVmb3gp55qEY29tbWFuZOmUruWAvDIyNO+8jOWcqFdlYmtpdChDaHJvbWUp5Lit5L+d5oyB5LiA6Ie0XG4gIC8vIFdlYmtpdOW3puWPsyBjb21tYW5kIOmUruWAvOS4jeS4gOagt1xuXG4gIGlmIChrZXkgPT09IDkzIHx8IGtleSA9PT0gMjI0KSBrZXkgPSA5MTtcbiAgLyoqXG4gICAqIENvbGxlY3QgYm91bmQga2V5c1xuICAgKiBJZiBhbiBJbnB1dCBNZXRob2QgRWRpdG9yIGlzIHByb2Nlc3Npbmcga2V5IGlucHV0IGFuZCB0aGUgZXZlbnQgaXMga2V5ZG93biwgcmV0dXJuIDIyOS5cbiAgICogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMjUwNDM5MzQvaXMtaXQtb2stdG8taWdub3JlLWtleWRvd24tZXZlbnRzLXdpdGgta2V5Y29kZS0yMjlcbiAgICogaHR0cDovL2xpc3RzLnczLm9yZy9BcmNoaXZlcy9QdWJsaWMvd3d3LWRvbS8yMDEwSnVsU2VwL2F0dC0wMTgyL2tleUNvZGUtc3BlYy5odG1sXG4gICAqL1xuXG4gIGlmIChfZG93bktleXMuaW5kZXhPZihrZXkpID09PSAtMSAmJiBrZXkgIT09IDIyOSkgX2Rvd25LZXlzLnB1c2goa2V5KTtcbiAgLyoqXG4gICAqIEplc3QgdGVzdCBjYXNlcyBhcmUgcmVxdWlyZWQuXG4gICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICovXG5cbiAgWydjdHJsS2V5JywgJ2FsdEtleScsICdzaGlmdEtleScsICdtZXRhS2V5J10uZm9yRWFjaChmdW5jdGlvbiAoa2V5TmFtZSkge1xuICAgIHZhciBrZXlOdW0gPSBtb2RpZmllck1hcFtrZXlOYW1lXTtcblxuICAgIGlmIChldmVudFtrZXlOYW1lXSAmJiBfZG93bktleXMuaW5kZXhPZihrZXlOdW0pID09PSAtMSkge1xuICAgICAgX2Rvd25LZXlzLnB1c2goa2V5TnVtKTtcbiAgICB9IGVsc2UgaWYgKCFldmVudFtrZXlOYW1lXSAmJiBfZG93bktleXMuaW5kZXhPZihrZXlOdW0pID4gLTEpIHtcbiAgICAgIF9kb3duS2V5cy5zcGxpY2UoX2Rvd25LZXlzLmluZGV4T2Yoa2V5TnVtKSwgMSk7XG4gICAgfSBlbHNlIGlmIChrZXlOYW1lID09PSAnbWV0YUtleScgJiYgZXZlbnRba2V5TmFtZV0gJiYgX2Rvd25LZXlzLmxlbmd0aCA9PT0gMykge1xuICAgICAgLyoqXG4gICAgICAgKiBGaXggaWYgQ29tbWFuZCBpcyBwcmVzc2VkOlxuICAgICAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgICovXG4gICAgICBpZiAoIShldmVudC5jdHJsS2V5IHx8IGV2ZW50LnNoaWZ0S2V5IHx8IGV2ZW50LmFsdEtleSkpIHtcbiAgICAgICAgX2Rvd25LZXlzID0gX2Rvd25LZXlzLnNsaWNlKF9kb3duS2V5cy5pbmRleE9mKGtleU51bSkpO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG4gIC8qKlxuICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqL1xuXG4gIGlmIChrZXkgaW4gX21vZHMpIHtcbiAgICBfbW9kc1trZXldID0gdHJ1ZTsgLy8g5bCG54m55q6K5a2X56ym55qEa2V55rOo5YaM5YiwIGhvdGtleXMg5LiKXG5cbiAgICBmb3IgKHZhciBrIGluIF9tb2RpZmllcikge1xuICAgICAgaWYgKF9tb2RpZmllcltrXSA9PT0ga2V5KSBob3RrZXlzW2tdID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoIWFzdGVyaXNrKSByZXR1cm47XG4gIH0gLy8g5bCGIG1vZGlmaWVyTWFwIOmHjOmdoueahOS/rumlsOmUrue7keWumuWIsCBldmVudCDkuK1cblxuXG4gIGZvciAodmFyIGUgaW4gX21vZHMpIHtcbiAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKF9tb2RzLCBlKSkge1xuICAgICAgX21vZHNbZV0gPSBldmVudFttb2RpZmllck1hcFtlXV07XG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiBodHRwczovL2dpdGh1Yi5jb20vamF5d2NqbG92ZS9ob3RrZXlzL3B1bGwvMTI5XG4gICAqIFRoaXMgc29sdmVzIHRoZSBpc3N1ZSBpbiBGaXJlZm94IG9uIFdpbmRvd3Mgd2hlcmUgaG90a2V5cyBjb3JyZXNwb25kaW5nIHRvIHNwZWNpYWwgY2hhcmFjdGVycyB3b3VsZCBub3QgdHJpZ2dlci5cbiAgICogQW4gZXhhbXBsZSBvZiB0aGlzIGlzIGN0cmwrYWx0K20gb24gYSBTd2VkaXNoIGtleWJvYXJkIHdoaWNoIGlzIHVzZWQgdG8gdHlwZSDOvC5cbiAgICogQnJvd3NlciBzdXBwb3J0OiBodHRwczovL2Nhbml1c2UuY29tLyNmZWF0PWtleWJvYXJkZXZlbnQtZ2V0bW9kaWZpZXJzdGF0ZVxuICAgKi9cblxuXG4gIGlmIChldmVudC5nZXRNb2RpZmllclN0YXRlICYmICEoZXZlbnQuYWx0S2V5ICYmICFldmVudC5jdHJsS2V5KSAmJiBldmVudC5nZXRNb2RpZmllclN0YXRlKCdBbHRHcmFwaCcpKSB7XG4gICAgaWYgKF9kb3duS2V5cy5pbmRleE9mKDE3KSA9PT0gLTEpIHtcbiAgICAgIF9kb3duS2V5cy5wdXNoKDE3KTtcbiAgICB9XG5cbiAgICBpZiAoX2Rvd25LZXlzLmluZGV4T2YoMTgpID09PSAtMSkge1xuICAgICAgX2Rvd25LZXlzLnB1c2goMTgpO1xuICAgIH1cblxuICAgIF9tb2RzWzE3XSA9IHRydWU7XG4gICAgX21vZHNbMThdID0gdHJ1ZTtcbiAgfSAvLyDojrflj5bojIPlm7Qg6buY6K6k5Li6IGBhbGxgXG5cblxuICB2YXIgc2NvcGUgPSBnZXRTY29wZSgpOyAvLyDlr7nku7vkvZXlv6vmjbfplK7pg73pnIDopoHlgZrnmoTlpITnkIZcblxuICBpZiAoYXN0ZXJpc2spIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFzdGVyaXNrLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAoYXN0ZXJpc2tbaV0uc2NvcGUgPT09IHNjb3BlICYmIChldmVudC50eXBlID09PSAna2V5ZG93bicgJiYgYXN0ZXJpc2tbaV0ua2V5ZG93biB8fCBldmVudC50eXBlID09PSAna2V5dXAnICYmIGFzdGVyaXNrW2ldLmtleXVwKSkge1xuICAgICAgICBldmVudEhhbmRsZXIoZXZlbnQsIGFzdGVyaXNrW2ldLCBzY29wZSk7XG4gICAgICB9XG4gICAgfVxuICB9IC8vIGtleSDkuI3lnKggX2hhbmRsZXJzIOS4rei/lOWbnlxuXG5cbiAgaWYgKCEoa2V5IGluIF9oYW5kbGVycykpIHJldHVybjtcblxuICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgX2hhbmRsZXJzW2tleV0ubGVuZ3RoOyBfaSsrKSB7XG4gICAgaWYgKGV2ZW50LnR5cGUgPT09ICdrZXlkb3duJyAmJiBfaGFuZGxlcnNba2V5XVtfaV0ua2V5ZG93biB8fCBldmVudC50eXBlID09PSAna2V5dXAnICYmIF9oYW5kbGVyc1trZXldW19pXS5rZXl1cCkge1xuICAgICAgaWYgKF9oYW5kbGVyc1trZXldW19pXS5rZXkpIHtcbiAgICAgICAgdmFyIHJlY29yZCA9IF9oYW5kbGVyc1trZXldW19pXTtcbiAgICAgICAgdmFyIHNwbGl0S2V5ID0gcmVjb3JkLnNwbGl0S2V5O1xuICAgICAgICB2YXIga2V5U2hvcnRjdXQgPSByZWNvcmQua2V5LnNwbGl0KHNwbGl0S2V5KTtcbiAgICAgICAgdmFyIF9kb3duS2V5c0N1cnJlbnQgPSBbXTsgLy8g6K6w5b2V5b2T5YmN5oyJ6ZSu6ZSu5YC8XG5cbiAgICAgICAgZm9yICh2YXIgYSA9IDA7IGEgPCBrZXlTaG9ydGN1dC5sZW5ndGg7IGErKykge1xuICAgICAgICAgIF9kb3duS2V5c0N1cnJlbnQucHVzaChjb2RlKGtleVNob3J0Y3V0W2FdKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoX2Rvd25LZXlzQ3VycmVudC5zb3J0KCkuam9pbignJykgPT09IF9kb3duS2V5cy5zb3J0KCkuam9pbignJykpIHtcbiAgICAgICAgICAvLyDmib7liLDlpITnkIblhoXlrrlcbiAgICAgICAgICBldmVudEhhbmRsZXIoZXZlbnQsIHJlY29yZCwgc2NvcGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IC8vIOWIpOaWrSBlbGVtZW50IOaYr+WQpuW3sue7j+e7keWumuS6i+S7tlxuXG5cbmZ1bmN0aW9uIGlzRWxlbWVudEJpbmQoZWxlbWVudCkge1xuICByZXR1cm4gZWxlbWVudEhhc0JpbmRFdmVudC5pbmRleE9mKGVsZW1lbnQpID4gLTE7XG59XG5cbmZ1bmN0aW9uIGhvdGtleXMoa2V5LCBvcHRpb24sIG1ldGhvZCkge1xuICBfZG93bktleXMgPSBbXTtcbiAgdmFyIGtleXMgPSBnZXRLZXlzKGtleSk7IC8vIOmcgOimgeWkhOeQhueahOW/q+aNt+mUruWIl+ihqFxuXG4gIHZhciBtb2RzID0gW107XG4gIHZhciBzY29wZSA9ICdhbGwnOyAvLyBzY29wZem7mOiupOS4umFsbO+8jOaJgOacieiMg+WbtOmDveacieaViFxuXG4gIHZhciBlbGVtZW50ID0gZG9jdW1lbnQ7IC8vIOW/q+aNt+mUruS6i+S7tue7keWumuiKgueCuVxuXG4gIHZhciBpID0gMDtcbiAgdmFyIGtleXVwID0gZmFsc2U7XG4gIHZhciBrZXlkb3duID0gdHJ1ZTtcbiAgdmFyIHNwbGl0S2V5ID0gJysnOyAvLyDlr7nkuLrorr7lrprojIPlm7TnmoTliKTmlq1cblxuICBpZiAobWV0aG9kID09PSB1bmRlZmluZWQgJiYgdHlwZW9mIG9wdGlvbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIG1ldGhvZCA9IG9wdGlvbjtcbiAgfVxuXG4gIGlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob3B0aW9uKSA9PT0gJ1tvYmplY3QgT2JqZWN0XScpIHtcbiAgICBpZiAob3B0aW9uLnNjb3BlKSBzY29wZSA9IG9wdGlvbi5zY29wZTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXG4gICAgaWYgKG9wdGlvbi5lbGVtZW50KSBlbGVtZW50ID0gb3B0aW9uLmVsZW1lbnQ7IC8vIGVzbGludC1kaXNhYmxlLWxpbmVcblxuICAgIGlmIChvcHRpb24ua2V5dXApIGtleXVwID0gb3B0aW9uLmtleXVwOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lXG5cbiAgICBpZiAob3B0aW9uLmtleWRvd24gIT09IHVuZGVmaW5lZCkga2V5ZG93biA9IG9wdGlvbi5rZXlkb3duOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lXG5cbiAgICBpZiAodHlwZW9mIG9wdGlvbi5zcGxpdEtleSA9PT0gJ3N0cmluZycpIHNwbGl0S2V5ID0gb3B0aW9uLnNwbGl0S2V5OyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lXG4gIH1cblxuICBpZiAodHlwZW9mIG9wdGlvbiA9PT0gJ3N0cmluZycpIHNjb3BlID0gb3B0aW9uOyAvLyDlr7nkuo7mr4/kuKrlv6vmjbfplK7ov5vooYzlpITnkIZcblxuICBmb3IgKDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHtcbiAgICBrZXkgPSBrZXlzW2ldLnNwbGl0KHNwbGl0S2V5KTsgLy8g5oyJ6ZSu5YiX6KGoXG5cbiAgICBtb2RzID0gW107IC8vIOWmguaenOaYr+e7hOWQiOW/q+aNt+mUruWPluW+l+e7hOWQiOW/q+aNt+mUrlxuXG4gICAgaWYgKGtleS5sZW5ndGggPiAxKSBtb2RzID0gZ2V0TW9kcyhfbW9kaWZpZXIsIGtleSk7IC8vIOWwhumdnuS/rumlsOmUrui9rOWMluS4uumUrueggVxuXG4gICAga2V5ID0ga2V5W2tleS5sZW5ndGggLSAxXTtcbiAgICBrZXkgPSBrZXkgPT09ICcqJyA/ICcqJyA6IGNvZGUoa2V5KTsgLy8gKuihqOekuuWMuemFjeaJgOacieW/q+aNt+mUrlxuICAgIC8vIOWIpOaWrWtleeaYr+WQpuWcqF9oYW5kbGVyc+S4re+8jOS4jeWcqOWwsei1i+S4gOS4quepuuaVsOe7hFxuXG4gICAgaWYgKCEoa2V5IGluIF9oYW5kbGVycykpIF9oYW5kbGVyc1trZXldID0gW107XG5cbiAgICBfaGFuZGxlcnNba2V5XS5wdXNoKHtcbiAgICAgIGtleXVwOiBrZXl1cCxcbiAgICAgIGtleWRvd246IGtleWRvd24sXG4gICAgICBzY29wZTogc2NvcGUsXG4gICAgICBtb2RzOiBtb2RzLFxuICAgICAgc2hvcnRjdXQ6IGtleXNbaV0sXG4gICAgICBtZXRob2Q6IG1ldGhvZCxcbiAgICAgIGtleToga2V5c1tpXSxcbiAgICAgIHNwbGl0S2V5OiBzcGxpdEtleVxuICAgIH0pO1xuICB9IC8vIOWcqOWFqOWxgGRvY3VtZW505LiK6K6+572u5b+r5o236ZSuXG5cblxuICBpZiAodHlwZW9mIGVsZW1lbnQgIT09ICd1bmRlZmluZWQnICYmICFpc0VsZW1lbnRCaW5kKGVsZW1lbnQpICYmIHdpbmRvdykge1xuICAgIGVsZW1lbnRIYXNCaW5kRXZlbnQucHVzaChlbGVtZW50KTtcbiAgICBhZGRFdmVudChlbGVtZW50LCAna2V5ZG93bicsIGZ1bmN0aW9uIChlKSB7XG4gICAgICBkaXNwYXRjaChlKTtcbiAgICB9KTtcbiAgICBhZGRFdmVudCh3aW5kb3csICdmb2N1cycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIF9kb3duS2V5cyA9IFtdO1xuICAgIH0pO1xuICAgIGFkZEV2ZW50KGVsZW1lbnQsICdrZXl1cCcsIGZ1bmN0aW9uIChlKSB7XG4gICAgICBkaXNwYXRjaChlKTtcbiAgICAgIGNsZWFyTW9kaWZpZXIoZSk7XG4gICAgfSk7XG4gIH1cbn1cblxudmFyIF9hcGkgPSB7XG4gIHNldFNjb3BlOiBzZXRTY29wZSxcbiAgZ2V0U2NvcGU6IGdldFNjb3BlLFxuICBkZWxldGVTY29wZTogZGVsZXRlU2NvcGUsXG4gIGdldFByZXNzZWRLZXlDb2RlczogZ2V0UHJlc3NlZEtleUNvZGVzLFxuICBpc1ByZXNzZWQ6IGlzUHJlc3NlZCxcbiAgZmlsdGVyOiBmaWx0ZXIsXG4gIHVuYmluZDogdW5iaW5kXG59O1xuXG5mb3IgKHZhciBhIGluIF9hcGkpIHtcbiAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChfYXBpLCBhKSkge1xuICAgIGhvdGtleXNbYV0gPSBfYXBpW2FdO1xuICB9XG59XG5cbmlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICB2YXIgX2hvdGtleXMgPSB3aW5kb3cuaG90a2V5cztcblxuICBob3RrZXlzLm5vQ29uZmxpY3QgPSBmdW5jdGlvbiAoZGVlcCkge1xuICAgIGlmIChkZWVwICYmIHdpbmRvdy5ob3RrZXlzID09PSBob3RrZXlzKSB7XG4gICAgICB3aW5kb3cuaG90a2V5cyA9IF9ob3RrZXlzO1xuICAgIH1cblxuICAgIHJldHVybiBob3RrZXlzO1xuICB9O1xuXG4gIHdpbmRvdy5ob3RrZXlzID0gaG90a2V5cztcbn1cblxuZXhwb3J0IGRlZmF1bHQgaG90a2V5cztcbiIsImltcG9ydCBob3RrZXlzIGZyb20gJ2hvdGtleXMtanMnO1xuaW1wb3J0IHsgdXNlUmVmLCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuXG5mdW5jdGlvbiB1c2VJc0hvdGtleVByZXNzZWQoKSB7XG4gICAgcmV0dXJuIGhvdGtleXMuaXNQcmVzc2VkO1xufVxuXG5mdW5jdGlvbiB1c2VIb3RrZXlzKGtleXMsIGNhbGxiYWNrLCBvcHRpb25zLCBkZXBzKSB7XG4gICAgaWYgKG9wdGlvbnMgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgICBkZXBzID0gb3B0aW9ucztcbiAgICAgICAgb3B0aW9ucyA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgY29uc3QgeyBlbmFibGVPblRhZ3MsIGZpbHRlciB9ID0gb3B0aW9ucyB8fCB7fTtcbiAgICBjb25zdCByZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgbWVtb2lzZWRDYWxsYmFjayA9IHVzZUNhbGxiYWNrKChrZXlib2FyZEV2ZW50LCBob3RrZXlzRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKHJlZi5jdXJyZW50ID09PSBudWxsIHx8IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IHJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgICBjYWxsYmFjayhrZXlib2FyZEV2ZW50LCBob3RrZXlzRXZlbnQpO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0sIGRlcHMgPyBbcmVmLCAuLi5kZXBzXSA6IFtyZWZdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLmVuYWJsZU9uVGFncykge1xuICAgICAgICAgICAgaG90a2V5cy5maWx0ZXIgPSAoeyB0YXJnZXQsIHNyY0VsZW1lbnQgfSkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXRUYWdOYW1lID0gKHRhcmdldCAmJiB0YXJnZXQudGFnTmFtZSkgfHwgKHNyY0VsZW1lbnQgJiYgc3JjRWxlbWVudC50YWdOYW1lKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gQm9vbGVhbih0YXJnZXRUYWdOYW1lICYmIGVuYWJsZU9uVGFncyAmJiBlbmFibGVPblRhZ3MuaW5jbHVkZXModGFyZ2V0VGFnTmFtZSkpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZmlsdGVyKVxuICAgICAgICAgICAgaG90a2V5cy5maWx0ZXIgPSBmaWx0ZXI7XG4gICAgICAgIGhvdGtleXMoa2V5cywgb3B0aW9ucyB8fCB7fSwgbWVtb2lzZWRDYWxsYmFjayk7XG4gICAgICAgIHJldHVybiAoKSA9PiBob3RrZXlzLnVuYmluZChrZXlzLCBtZW1vaXNlZENhbGxiYWNrKTtcbiAgICB9LCBbbWVtb2lzZWRDYWxsYmFjaywgb3B0aW9ucywgZW5hYmxlT25UYWdzLCBmaWx0ZXIsIGtleXNdKTtcbiAgICByZXR1cm4gcmVmO1xufVxuXG5leHBvcnQgeyB1c2VIb3RrZXlzLCB1c2VJc0hvdGtleVByZXNzZWQgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcFxuIl0sInNvdXJjZVJvb3QiOiIifQ==
|
|
11
|
+
var r="undefined"!=typeof navigator&&navigator.userAgent.toLowerCase().indexOf("firefox")>0;function a(e,t,n){e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent&&e.attachEvent("on".concat(t),(function(){n(window.event)}))}function o(e,t){for(var n=t.slice(0,t.length-1),r=0;r<n.length;r++)n[r]=e[n[r].toLowerCase()];return n}function i(e){"string"!=typeof e&&(e="");for(var t=(e=e.replace(/\s/g,"")).split(","),n=t.lastIndexOf("");n>=0;)t[n-1]+=",",t.splice(n,1),n=t.lastIndexOf("");return t}for(var u={backspace:8,tab:9,clear:12,enter:13,return:13,esc:27,escape:27,space:32,left:37,up:38,right:39,down:40,del:46,delete:46,ins:45,insert:45,home:36,end:35,pageup:33,pagedown:34,capslock:20,"⇪":20,",":188,".":190,"/":191,"`":192,"-":r?173:189,"=":r?61:187,";":r?59:186,"'":222,"[":219,"]":221,"\\":220},l={"⇧":16,shift:16,"⌥":18,alt:18,option:18,"⌃":17,ctrl:17,control:17,"⌘":91,cmd:91,command:91},d={16:"shiftKey",18:"altKey",17:"ctrlKey",91:"metaKey",shiftKey:16,ctrlKey:17,altKey:18,metaKey:91},c={16:!1,18:!1,17:!1,91:!1},f={},s=1;s<20;s++)u["f".concat(s)]=111+s;var p=[],v="all",m=[],_=function(e){return u[e.toLowerCase()]||l[e.toLowerCase()]||e.toUpperCase().charCodeAt(0)};function y(e){v=e||"all"}function h(){return v||"all"}var b=function(e){var t=e.key,n=e.scope,r=e.method,a=e.splitKey,u=void 0===a?"+":a;i(t).forEach((function(e){var t=e.split(u),a=t.length,i=t[a-1],d="*"===i?"*":_(i);if(f[d]){n||(n=h());var c=a>1?o(l,t):[];f[d]=f[d].map((function(e){return(!r||e.method===r)&&e.scope===n&&function(e,t){for(var n=e.length>=t.length?e:t,r=e.length>=t.length?t:e,a=!0,o=0;o<n.length;o++)-1===r.indexOf(n[o])&&(a=!1);return a}(e.mods,c)?{}:e}))}}))};function O(e,t,n){var r;if(t.scope===n||"all"===t.scope){for(var a in r=t.mods.length>0,c)Object.prototype.hasOwnProperty.call(c,a)&&(!c[a]&&t.mods.indexOf(+a)>-1||c[a]&&-1===t.mods.indexOf(+a))&&(r=!1);(0!==t.mods.length||c[16]||c[18]||c[17]||c[91])&&!r&&"*"!==t.shortcut||!1===t.method(e,t)&&(e.preventDefault?e.preventDefault():e.returnValue=!1,e.stopPropagation&&e.stopPropagation(),e.cancelBubble&&(e.cancelBubble=!0))}}function g(e){var t=f["*"],n=e.keyCode||e.which||e.charCode;if(P.filter.call(this,e)){if(93!==n&&224!==n||(n=91),-1===p.indexOf(n)&&229!==n&&p.push(n),["ctrlKey","altKey","shiftKey","metaKey"].forEach((function(t){var n=d[t];e[t]&&-1===p.indexOf(n)?p.push(n):!e[t]&&p.indexOf(n)>-1?p.splice(p.indexOf(n),1):"metaKey"===t&&e[t]&&3===p.length&&(e.ctrlKey||e.shiftKey||e.altKey||(p=p.slice(p.indexOf(n))))})),n in c){for(var r in c[n]=!0,l)l[r]===n&&(P[r]=!0);if(!t)return}for(var a in c)Object.prototype.hasOwnProperty.call(c,a)&&(c[a]=e[d[a]]);e.getModifierState&&(!e.altKey||e.ctrlKey)&&e.getModifierState("AltGraph")&&(-1===p.indexOf(17)&&p.push(17),-1===p.indexOf(18)&&p.push(18),c[17]=!0,c[18]=!0);var o=h();if(t)for(var i=0;i<t.length;i++)t[i].scope===o&&("keydown"===e.type&&t[i].keydown||"keyup"===e.type&&t[i].keyup)&&O(e,t[i],o);if(n in f)for(var u=0;u<f[n].length;u++)if(("keydown"===e.type&&f[n][u].keydown||"keyup"===e.type&&f[n][u].keyup)&&f[n][u].key){for(var s=f[n][u],v=s.splitKey,m=s.key.split(v),y=[],b=0;b<m.length;b++)y.push(_(m[b]));y.sort().join("")===p.sort().join("")&&O(e,s,o)}}}function P(e,t,n){p=[];var r=i(e),u=[],d="all",s=document,v=0,y=!1,h=!0,b="+";for(void 0===n&&"function"==typeof t&&(n=t),"[object Object]"===Object.prototype.toString.call(t)&&(t.scope&&(d=t.scope),t.element&&(s=t.element),t.keyup&&(y=t.keyup),void 0!==t.keydown&&(h=t.keydown),"string"==typeof t.splitKey&&(b=t.splitKey)),"string"==typeof t&&(d=t);v<r.length;v++)u=[],(e=r[v].split(b)).length>1&&(u=o(l,e)),(e="*"===(e=e[e.length-1])?"*":_(e))in f||(f[e]=[]),f[e].push({keyup:y,keydown:h,scope:d,mods:u,shortcut:r[v],method:n,key:r[v],splitKey:b});void 0!==s&&!function(e){return m.indexOf(e)>-1}(s)&&window&&(m.push(s),a(s,"keydown",(function(e){g(e)})),a(window,"focus",(function(){p=[]})),a(s,"keyup",(function(e){g(e),function(e){var t=e.keyCode||e.which||e.charCode,n=p.indexOf(t);if(n>=0&&p.splice(n,1),e.key&&"meta"===e.key.toLowerCase()&&p.splice(0,p.length),93!==t&&224!==t||(t=91),t in c)for(var r in c[t]=!1,l)l[r]===t&&(P[r]=!1)}(e)})))}var j={setScope:y,getScope:h,deleteScope:function(e,t){var n,r;for(var a in e||(e=h()),f)if(Object.prototype.hasOwnProperty.call(f,a))for(n=f[a],r=0;r<n.length;)n[r].scope===e?n.splice(r,1):r++;h()===e&&y(t||"all")},getPressedKeyCodes:function(){return p.slice(0)},isPressed:function(e){return"string"==typeof e&&(e=_(e)),-1!==p.indexOf(e)},filter:function(e){var t=e.target||e.srcElement,n=t.tagName,r=!0;return!t.isContentEditable&&("INPUT"!==n&&"TEXTAREA"!==n&&"SELECT"!==n||t.readOnly)||(r=!1),r},unbind:function(e){if(e){if(Array.isArray(e))e.forEach((function(e){e.key&&b(e)}));else if("object"==typeof e)e.key&&b(e);else if("string"==typeof e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var a=n[0],o=n[1];"function"==typeof a&&(o=a,a=""),b({key:e,scope:a,method:o,splitKey:"+"})}}else Object.keys(f).forEach((function(e){return delete f[e]}))}};for(var E in j)Object.prototype.hasOwnProperty.call(j,E)&&(P[E]=j[E]);if("undefined"!=typeof window){var w=window.hotkeys;P.noConflict=function(e){return e&&window.hotkeys===P&&(window.hotkeys=w),P},window.hotkeys=P}var k=P,C=n(0);function M(){return k.isPressed}function x(e,t,n,r){n instanceof Array&&(r=n,n=void 0);const{enableOnTags:a,filter:o}=n||{},i=Object(C.useRef)(null),u=Object(C.useCallback)((e,n)=>(null===i.current||document.activeElement===i.current)&&(t(e,n),!0),r?[i,...r]:[i]);return Object(C.useEffect)(()=>(n&&n.enableOnTags&&(k.filter=({target:e,srcElement:t})=>{const n=e&&e.tagName||t&&t.tagName;return Boolean(n&&a&&a.includes(n))}),o&&(k.filter=o),k(e,n||{},u),()=>k.unbind(e,u)),[u,n,a,o,e]),i}}]));
|
|
12
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vL2V4dGVybmFsIFwicmVhY3RcIiIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2xhc3NjYXQvc3JjL2luZGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9wcm9wLXR5cGVzL2luZGV4LmpzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL0ljb24vaW5kZXgudHMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvQnV0dG9uTGluay9pbmRleC50cyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9MaXN0Vmlldy9MaXN0Vmlld0l0ZW0ubW9kdWxlLmNzcz85YTRlIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL0J1dHRvbi9pbmRleC50cyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9Db2xvclN3YXRjaC9pbmRleC50cyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9Nb2RhbC9pbmRleC50cyIsIndlYnBhY2s6Ly8vLi9zcmMvaW5kZXgudHMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvQnV0dG9uL0J1dHRvbi50c3giLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvQnV0dG9uL0J1dHRvbi5tb2R1bGUuY3NzP2NkNDYiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvQnV0dG9uTGluay9CdXR0b25MaW5rLnRzeCIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9CdXR0b25MaW5rL0J1dHRvbkxpbmsubW9kdWxlLmNzcz8wODQxIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL0NvbG9yUGlja2VyL2luZGV4LnRzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL0NvbG9yUGlja2VyL0NvbG9yUGlja2VyLnRzeCIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9Db2xvclN3YXRjaC9Db2xvclN3YXRjaC50c3giLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvQ29sb3JTd2F0Y2gvQ29sb3JTd2F0Y2gubW9kdWxlLmNzcz8yM2ViIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL0NvbG9yUGlja2VyL0NvbG9yUGlja2VyLm1vZHVsZS5jc3M/ZTE4OCIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9Db25maXJtYXRpb25Nb2RhbC9pbmRleC50cyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9Db25maXJtYXRpb25Nb2RhbC9Db25maXJtYXRpb25Nb2RhbC50c3giLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvTW9kYWwvTW9kYWwudHN4Iiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL01vZGFsL01vZGFsLm1vZHVsZS5jc3M/MGVkZiIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9Db25maXJtYXRpb25Nb2RhbC9Db25maXJtYXRpb25Nb2RhbC5tb2R1bGUuY3NzPzI3YjMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvRmxvYXRpbmdQYW5lbC9pbmRleC50cyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9GbG9hdGluZ1BhbmVsL0Zsb2F0aW5nUGFuZWwudHN4Iiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL0Zsb2F0aW5nUGFuZWwvRmxvYXRpbmdQYW5lbC5tb2R1bGUuY3NzPzdhYmYiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvSWNvbi9JY29uLnRzeCIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9JY29uL0ljb24ubW9kdWxlLmNzcz85YjkzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL0ljb25CdXR0b24vaW5kZXgudHMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvSWNvbkJ1dHRvbi9JY29uQnV0dG9uLnRzeCIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9JY29uQnV0dG9uL0ljb25CdXR0b24ubW9kdWxlLmNzcz9kMjhkIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL0ljb25CdXR0b25MaW5rL2luZGV4LnRzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL0ljb25CdXR0b25MaW5rL0ljb25CdXR0b25MaW5rLnRzeCIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9JY29uQnV0dG9uTGluay9JY29uQnV0dG9uTGluay5tb2R1bGUuY3NzP2NjMzciLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvSW1hZ2UvaW5kZXgudHMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvSW1hZ2UvSW1hZ2UudHN4Iiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL0ltYWdlL0ltYWdlLm1vZHVsZS5jc3M/OTVhNyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9MaXN0Vmlldy9pbmRleC50cyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9MaXN0Vmlldy9MaXN0Vmlldy50c3giLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvTGlzdFZpZXcvTGlzdFZpZXcubW9kdWxlLmNzcz80NjRlIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL0xpc3RWaWV3L0xpc3RWaWV3SXRlbS50c3giLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvTGlzdFZpZXcvTGlzdFZpZXdMaW5rSXRlbS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcHJvcC10eXBlcy9mYWN0b3J5V2l0aFRocm93aW5nU2hpbXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Byb3AtdHlwZXMvbGliL1JlYWN0UHJvcFR5cGVzU2VjcmV0LmpzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL01lbnUvaW5kZXgudHMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvTWVudS9NZW51LnRzeCIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9NZW51L01lbnUubW9kdWxlLmNzcz8zNzA5Iiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL01lbnUvTWVudUNvbnRhaW5lci50c3giLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvTWVudS9NZW51Q29udGFpbmVyLm1vZHVsZS5jc3M/OTZkMiIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9NZW51L01lbnVJdGVtLnRzeCIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9NZW51L01lbnVJdGVtLm1vZHVsZS5jc3M/NTA0OSIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9NZW51L01lbnVMaW5rSXRlbS50c3giLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvTWVudS9NZW51TGlua0l0ZW0ubW9kdWxlLmNzcz8wNDI3Iiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL092ZXJsYXkvaW5kZXgudHMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvT3ZlcmxheS9PdmVybGF5LnRzeCIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9PdmVybGF5L092ZXJsYXkubW9kdWxlLmNzcz8yMWM1Iiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL1RleHRJbnB1dC9pbmRleC50cyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9UZXh0SW5wdXQvVGV4dElucHV0LnRzeCIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9UZXh0SW5wdXQvVGV4dElucHV0Lm1vZHVsZS5jc3M/Y2QzNiIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9Ub2FzdC9pbmRleC50cyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9Ub2FzdC9Ub2FzdC50c3giLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvVG9hc3QvVG9hc3QubW9kdWxlLmNzcz9jZjYxIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL1RvYXN0L1RvYXN0Q29udGFpbmVyLnRzeCIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9Ub2FzdC9Ub2FzdENvbnRhaW5lci5tb2R1bGUuY3NzPzlhMzYiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvVmlkZW8vaW5kZXgudHMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvVmlkZW8vVmlkZW8udHN4Iiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL1ZpZGVvL1ZpZGVvLm1vZHVsZS5jc3M/ZTIyMyIsIndlYnBhY2s6Ly8vLi9zcmMvaG9va3MvaW5kZXgudHMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2hvb2tzL3VzZVRvZ2dsZS50cyIsIndlYnBhY2s6Ly8vLi9zcmMvaG9va3MvdXNlT3V0c2lkZUNsaWNrLnRzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ob3RrZXlzLWpzL2Rpc3QvaG90a2V5cy5lc20uanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3JlYWN0LWhvdGtleXMtaG9vay9kaXN0LXdlYi9pbmRleC5qcyJdLCJuYW1lcyI6WyJpbnN0YWxsZWRNb2R1bGVzIiwiX193ZWJwYWNrX3JlcXVpcmVfXyIsIm1vZHVsZUlkIiwiZXhwb3J0cyIsIm1vZHVsZSIsImkiLCJsIiwibW9kdWxlcyIsImNhbGwiLCJtIiwiYyIsImQiLCJuYW1lIiwiZ2V0dGVyIiwibyIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsImdldCIsInIiLCJTeW1ib2wiLCJ0b1N0cmluZ1RhZyIsInZhbHVlIiwidCIsIm1vZGUiLCJfX2VzTW9kdWxlIiwibnMiLCJjcmVhdGUiLCJrZXkiLCJiaW5kIiwibiIsIm9iamVjdCIsInByb3BlcnR5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJwIiwicyIsInJlcXVpcmUiLCJpc0FycmF5IiwiQXJyYXkiLCJjYyIsIm9iaiIsIm91dCIsInRtcCIsImsiLCJsZW5ndGgiLCJkZWZhdWx0IiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJvbkNsaWNrIiwiZGlzYWJsZWQiLCJpbnZlcnRlZCIsInJvdW5kZWQiLCJub1NoYWRvdyIsIm5vUGFkZGluZyIsIm5vQm9yZGVyIiwidHJhbnNwYXJlbnQiLCJzdHJldGNoSG9yaXpvbnRhbGx5Iiwic3RyZXRjaFZlcnRpY2FsbHkiLCJvZmZzZXRTaWRlcyIsImFsaWduIiwic2l6ZSIsInR5cGUiLCJjb250YWluZXIiLCJsZWZ0T2Zmc2V0IiwiaW5jbHVkZXMiLCJyaWdodE9mZnNldCIsInJvbGUiLCJjb250ZW50IiwiQ29tcG9uZW50IiwicHJvcHMiLCJjb2xvcnMiLCJvblNlbGVjdCIsInNlbGVjdGVkQ29sb3IiLCJkaXJlY3Rpb24iLCJjb2xvclBpY2tlciIsIm1hcCIsImNvbG9yIiwiQ29sb3JTd2F0Y2giLCJpc1NlbGVjdGVkIiwiY29sb3JTd2F0Y2giLCJzZWxlY3RlZCIsInN0eWxlIiwiYmFja2dyb3VuZENvbG9yIiwiaGV4Q29kZSIsInNyT25seSIsImxhYmVsIiwiQ29uZmlybWF0aW9uTW9kYWwiLCJoZWFkZXIiLCJpc09wZW4iLCJidXR0b25zTGVmdCIsImJ1dHRvbnNSaWdodCIsIm9uQ2xvc2UiLCJNb2RhbCIsIm1vZGFsSGVhZGVyIiwibW9kYWxDb250ZW50IiwibW9kYWxCdXR0b25zQ29udGFpbmVyIiwibW9kYWxCdXR0b25zIiwiZGlzcGxheU5hbWUiLCJidXR0b24iLCJ1c2VIb3RrZXlzIiwiaGFuZGxlT3ZlcmxheUNsaWNrIiwidXNlQ2FsbGJhY2siLCJvdmVybGF5IiwibW9kYWwiLCJtb2RhbEJ1dHRvbiIsImxheW91dCIsInBsYWNlbWVudCIsImhvcml6b250YWwiLCJ2ZXJ0aWNhbCIsInBhcmVudCIsImhvcml6b250YWxQbGFjZW1lbnQiLCJ2ZXJ0aWNhbFBsYWNlbWVudCIsImZpeGVkIiwic3JjIiwiYWx0IiwiaWNvbiIsImNyb3NzT3JpZ2luIiwidG9wT2Zmc2V0IiwiYm90dG9tT2Zmc2V0IiwiSWNvbiIsImVtcHR5SW1hZ2UiLCJzcmNXaWR0aCIsInNyY0hlaWdodCIsImFuaW1hdGlvbiIsInVzZVN0YXRlIiwiaXNMb2FkZWQiLCJzZXRJc0xvYWRlZCIsImltYWdlUmVmIiwidXNlUmVmIiwidXNlRWZmZWN0IiwiaW1hZ2UiLCJJbWFnZSIsIm9ubG9hZCIsImN1cnJlbnQiLCJzZXRBdHRyaWJ1dGUiLCJoYXNPdmVybGF5IiwicmVmIiwiZmFkZUluIiwic2NhbGVVcCIsIndpZHRoIiwiaGVpZ2h0IiwibGlzdCIsImFjdGl2ZSIsImxpc3RWaWV3SXRlbSIsIkJ1dHRvbiIsIkxpc3RWaWV3TGlua0l0ZW0iLCJhcyIsImNsYXNzY2F0Iiwic3R5bGVzIiwiZGVmYXVsdFByb3BzIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwibm9kZSIsImlzUmVxdWlyZWQiLCJlbGVtZW50VHlwZSIsImJvb2wiLCJvbmVPZiIsInN0cmluZyIsImZ1bmMiLCJSZWFjdFByb3BUeXBlc1NlY3JldCIsImVtcHR5RnVuY3Rpb24iLCJlbXB0eUZ1bmN0aW9uV2l0aFJlc2V0IiwicmVzZXRXYXJuaW5nQ2FjaGUiLCJzaGltIiwicHJvcE5hbWUiLCJjb21wb25lbnROYW1lIiwibG9jYXRpb24iLCJwcm9wRnVsbE5hbWUiLCJzZWNyZXQiLCJlcnIiLCJFcnJvciIsImdldFNoaW0iLCJSZWFjdFByb3BUeXBlcyIsImFycmF5IiwibnVtYmVyIiwic3ltYm9sIiwiYW55IiwiYXJyYXlPZiIsImVsZW1lbnQiLCJpbnN0YW5jZU9mIiwib2JqZWN0T2YiLCJvbmVPZlR5cGUiLCJzaGFwZSIsImV4YWN0IiwiY2hlY2tQcm9wVHlwZXMiLCJtZW51Iiwib3BlbiIsIm1lbnVIZWFkZXIiLCJmb3J3YXJkUmVmIiwibWVudUNvbnRhaW5lciIsImlzQWN0aXZlIiwibWVudUl0ZW0iLCJtZW51TGlua0l0ZW0iLCJpc0ZpeGVkIiwib25DaGFuZ2UiLCJwbGFjZWhvbGRlciIsImlucHV0UmVmIiwiYXV0b0ZvY3VzIiwiaGFuZGxlQ2hhbmdlIiwiZSIsInRhcmdldCIsInRleHRMYWJlbCIsInRleHRJbnB1dCIsInVuZGVmaW5lZCIsImJ1dHRvbnMiLCJ0b2FzdCIsInRvYXN0SW1hZ2UiLCJ0b2FzdENvbnRlbnQiLCJ0b2FzdEJ1dHRvbnMiLCJ0b2FzdENvbnRhaW5lciIsIm11dGVkIiwibG9vcCIsImF1dG9QbGF5IiwidmlkZW8iLCJwbGF5c0lubGluZSIsImluaXRpYWxWYWx1ZSIsInNldFZhbHVlIiwibmV3VmFsdWUiLCJwcmV2VmFsdWUiLCJjYWxsYmFjayIsImhhbmRsZUNsaWNrIiwiZXZlbnQiLCJjb250YWlucyIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJpc2ZmIiwibmF2aWdhdG9yIiwidXNlckFnZW50IiwidG9Mb3dlckNhc2UiLCJpbmRleE9mIiwiYWRkRXZlbnQiLCJtZXRob2QiLCJhdHRhY2hFdmVudCIsImNvbmNhdCIsIndpbmRvdyIsImdldE1vZHMiLCJtb2RpZmllciIsIm1vZHMiLCJzbGljZSIsImdldEtleXMiLCJrZXlzIiwicmVwbGFjZSIsInNwbGl0IiwiaW5kZXgiLCJsYXN0SW5kZXhPZiIsInNwbGljZSIsIl9rZXlNYXAiLCJiYWNrc3BhY2UiLCJ0YWIiLCJjbGVhciIsImVudGVyIiwicmV0dXJuIiwiZXNjIiwiZXNjYXBlIiwic3BhY2UiLCJsZWZ0IiwidXAiLCJyaWdodCIsImRvd24iLCJkZWwiLCJkZWxldGUiLCJpbnMiLCJpbnNlcnQiLCJob21lIiwiZW5kIiwicGFnZXVwIiwicGFnZWRvd24iLCJjYXBzbG9jayIsIiciLCJfbW9kaWZpZXIiLCJzaGlmdCIsIm9wdGlvbiIsImN0cmwiLCJjb250cm9sIiwiY21kIiwiY29tbWFuZCIsIm1vZGlmaWVyTWFwIiwiMTYiLCIxOCIsIjE3IiwiOTEiLCJzaGlmdEtleSIsImN0cmxLZXkiLCJhbHRLZXkiLCJtZXRhS2V5IiwiX21vZHMiLCJfaGFuZGxlcnMiLCJfZG93bktleXMiLCJfc2NvcGUiLCJlbGVtZW50SGFzQmluZEV2ZW50IiwiY29kZSIsIngiLCJ0b1VwcGVyQ2FzZSIsImNoYXJDb2RlQXQiLCJzZXRTY29wZSIsInNjb3BlIiwiZ2V0U2NvcGUiLCJlYWNoVW5iaW5kIiwiX3JlZiIsIl9yZWYkc3BsaXRLZXkiLCJzcGxpdEtleSIsImZvckVhY2giLCJvcmlnaW5LZXkiLCJ1bmJpbmRLZXlzIiwibGVuIiwibGFzdEtleSIsImtleUNvZGUiLCJyZWNvcmQiLCJhMSIsImEyIiwiYXJyMSIsImFycjIiLCJpc0luZGV4IiwiY29tcGFyZUFycmF5IiwiZXZlbnRIYW5kbGVyIiwiaGFuZGxlciIsIm1vZGlmaWVyc01hdGNoIiwieSIsInNob3J0Y3V0IiwicHJldmVudERlZmF1bHQiLCJyZXR1cm5WYWx1ZSIsInN0b3BQcm9wYWdhdGlvbiIsImNhbmNlbEJ1YmJsZSIsImRpc3BhdGNoIiwiYXN0ZXJpc2siLCJ3aGljaCIsImNoYXJDb2RlIiwiaG90a2V5cyIsImZpbHRlciIsInRoaXMiLCJwdXNoIiwia2V5TmFtZSIsImtleU51bSIsImdldE1vZGlmaWVyU3RhdGUiLCJrZXlkb3duIiwia2V5dXAiLCJfaSIsImtleVNob3J0Y3V0IiwiX2Rvd25LZXlzQ3VycmVudCIsImEiLCJzb3J0Iiwiam9pbiIsInRvU3RyaW5nIiwiaXNFbGVtZW50QmluZCIsImNsZWFyTW9kaWZpZXIiLCJfYXBpIiwiZGVsZXRlU2NvcGUiLCJuZXdTY29wZSIsImhhbmRsZXJzIiwiZ2V0UHJlc3NlZEtleUNvZGVzIiwiaXNQcmVzc2VkIiwic3JjRWxlbWVudCIsInRhZ05hbWUiLCJmbGFnIiwiaXNDb250ZW50RWRpdGFibGUiLCJyZWFkT25seSIsInVuYmluZCIsImtleXNJbmZvIiwiaW5mbyIsIl9sZW4iLCJhcmd1bWVudHMiLCJhcmdzIiwiX2tleSIsIl9ob3RrZXlzIiwibm9Db25mbGljdCIsImRlZXAiLCJ1c2VJc0hvdGtleVByZXNzZWQiLCJvcHRpb25zIiwiZGVwcyIsImVuYWJsZU9uVGFncyIsIm1lbW9pc2VkQ2FsbGJhY2siLCJrZXlib2FyZEV2ZW50IiwiaG90a2V5c0V2ZW50IiwiYWN0aXZlRWxlbWVudCIsInRhcmdldFRhZ05hbWUiLCJC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V0EsRUFBUUUsZUFDbkIsRUFBUXpDLE9BQVMsRUFBR2pJLFNBQVF3SixpQkFFeEIsTUFBTXVCLEVBQWlCL0ssR0FBVUEsRUFBT3lKLFNBQWFELEdBQWNBLEVBQVdDLFFBQzlFLE9BQU91QixRQUFRRCxHQUFpQkwsR0FBZ0JBLEVBQWFsVCxTQUFTdVQsTUFHMUU5QyxJQUNBLEVBQVFBLE9BQVNBLEdBQ3JCLEVBQVF4RixFQUFNK0gsR0FBVyxHQUFJRyxHQUN0QixJQUFNLEVBQVFkLE9BQU9wSCxFQUFNa0ksSUFDbkMsQ0FBQ0EsRUFBa0JILEVBQVNFLEVBQWN6QyxFQUFReEYsSUFDOUN6RyIsImZpbGUiOiJpbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIiBcdC8vIFRoZSBtb2R1bGUgY2FjaGVcbiBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG5cbiBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cbiBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKSB7XG4gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG4gXHRcdH1cbiBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbiBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuIFx0XHRcdGk6IG1vZHVsZUlkLFxuIFx0XHRcdGw6IGZhbHNlLFxuIFx0XHRcdGV4cG9ydHM6IHt9XG4gXHRcdH07XG5cbiBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG4gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbiBcdFx0bW9kdWxlLmwgPSB0cnVlO1xuXG4gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbiBcdH1cblxuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbiBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG5cbiBcdC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kID0gZnVuY3Rpb24oZXhwb3J0cywgbmFtZSwgZ2V0dGVyKSB7XG4gXHRcdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywgbmFtZSkpIHtcbiBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbmFtZSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGdldHRlciB9KTtcbiBcdFx0fVxuIFx0fTtcblxuIFx0Ly8gZGVmaW5lIF9fZXNNb2R1bGUgb24gZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5yID0gZnVuY3Rpb24oZXhwb3J0cykge1xuIFx0XHRpZih0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiBTeW1ib2wudG9TdHJpbmdUYWcpIHtcbiBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KTtcbiBcdFx0fVxuIFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuIFx0fTtcblxuIFx0Ly8gY3JlYXRlIGEgZmFrZSBuYW1lc3BhY2Ugb2JqZWN0XG4gXHQvLyBtb2RlICYgMTogdmFsdWUgaXMgYSBtb2R1bGUgaWQsIHJlcXVpcmUgaXRcbiBcdC8vIG1vZGUgJiAyOiBtZXJnZSBhbGwgcHJvcGVydGllcyBvZiB2YWx1ZSBpbnRvIHRoZSBuc1xuIFx0Ly8gbW9kZSAmIDQ6IHJldHVybiB2YWx1ZSB3aGVuIGFscmVhZHkgbnMgb2JqZWN0XG4gXHQvLyBtb2RlICYgOHwxOiBiZWhhdmUgbGlrZSByZXF1aXJlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnQgPSBmdW5jdGlvbih2YWx1ZSwgbW9kZSkge1xuIFx0XHRpZihtb2RlICYgMSkgdmFsdWUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKHZhbHVlKTtcbiBcdFx0aWYobW9kZSAmIDgpIHJldHVybiB2YWx1ZTtcbiBcdFx0aWYoKG1vZGUgJiA0KSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICYmIHZhbHVlLl9fZXNNb2R1bGUpIHJldHVybiB2YWx1ZTtcbiBcdFx0dmFyIG5zID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5yKG5zKTtcbiBcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KG5zLCAnZGVmYXVsdCcsIHsgZW51bWVyYWJsZTogdHJ1ZSwgdmFsdWU6IHZhbHVlIH0pO1xuIFx0XHRpZihtb2RlICYgMiAmJiB0eXBlb2YgdmFsdWUgIT0gJ3N0cmluZycpIGZvcih2YXIga2V5IGluIHZhbHVlKSBfX3dlYnBhY2tfcmVxdWlyZV9fLmQobnMsIGtleSwgZnVuY3Rpb24oa2V5KSB7IHJldHVybiB2YWx1ZVtrZXldOyB9LmJpbmQobnVsbCwga2V5KSk7XG4gXHRcdHJldHVybiBucztcbiBcdH07XG5cbiBcdC8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbiBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0RGVmYXVsdCgpIHsgcmV0dXJuIG1vZHVsZVsnZGVmYXVsdCddOyB9IDpcbiBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4gXHRcdHJldHVybiBnZXR0ZXI7XG4gXHR9O1xuXG4gXHQvLyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGxcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcblxuIFx0Ly8gX193ZWJwYWNrX3B1YmxpY19wYXRoX19cbiBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiXCI7XG5cblxuIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSA5KTtcbiIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcInJlYWN0XCIpOyIsInZhciBpc0FycmF5ID0gQXJyYXkuaXNBcnJheVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjYyhvYmopIHtcbiAgdmFyIG91dCA9IFwiXCJcblxuICBpZiAodHlwZW9mIG9iaiA9PT0gXCJzdHJpbmdcIiB8fCB0eXBlb2Ygb2JqID09PSBcIm51bWJlclwiKSByZXR1cm4gb2JqIHx8IFwiXCJcblxuICBpZiAoaXNBcnJheShvYmopKVxuICAgIGZvciAodmFyIGsgPSAwLCB0bXA7IGsgPCBvYmoubGVuZ3RoOyBrKyspIHtcbiAgICAgIGlmICgodG1wID0gY2Mob2JqW2tdKSkgIT09IFwiXCIpIHtcbiAgICAgICAgb3V0ICs9IChvdXQgJiYgXCIgXCIpICsgdG1wXG4gICAgICB9XG4gICAgfVxuICBlbHNlXG4gICAgZm9yICh2YXIgayBpbiBvYmopIHtcbiAgICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkoaykgJiYgb2JqW2tdKSBvdXQgKz0gKG91dCAmJiBcIiBcIikgKyBrXG4gICAgfVxuXG4gIHJldHVybiBvdXRcbn1cbiIsIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgdmFyIFJlYWN0SXMgPSByZXF1aXJlKCdyZWFjdC1pcycpO1xuXG4gIC8vIEJ5IGV4cGxpY2l0bHkgdXNpbmcgYHByb3AtdHlwZXNgIHlvdSBhcmUgb3B0aW5nIGludG8gbmV3IGRldmVsb3BtZW50IGJlaGF2aW9yLlxuICAvLyBodHRwOi8vZmIubWUvcHJvcC10eXBlcy1pbi1wcm9kXG4gIHZhciB0aHJvd09uRGlyZWN0QWNjZXNzID0gdHJ1ZTtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2ZhY3RvcnlXaXRoVHlwZUNoZWNrZXJzJykoUmVhY3RJcy5pc0VsZW1lbnQsIHRocm93T25EaXJlY3RBY2Nlc3MpO1xufSBlbHNlIHtcbiAgLy8gQnkgZXhwbGljaXRseSB1c2luZyBgcHJvcC10eXBlc2AgeW91IGFyZSBvcHRpbmcgaW50byBuZXcgcHJvZHVjdGlvbiBiZWhhdmlvci5cbiAgLy8gaHR0cDovL2ZiLm1lL3Byb3AtdHlwZXMtaW4tcHJvZFxuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vZmFjdG9yeVdpdGhUaHJvd2luZ1NoaW1zJykoKTtcbn1cbiIsImV4cG9ydCB7IGRlZmF1bHQgYXMgSWNvbiB9IGZyb20gXCIuL0ljb25cIjtcbiIsImV4cG9ydCB7IGRlZmF1bHQgYXMgQnV0dG9uTGluayB9IGZyb20gXCIuL0J1dHRvbkxpbmtcIjtcbiIsIi8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpblxubW9kdWxlLmV4cG9ydHMgPSB7XCJsaXN0Vmlld0l0ZW1cIjpcIl8yTGdqcUFCd2pIdHBiR3prUVFrcWlRXCJ9OyIsImV4cG9ydCB7IGRlZmF1bHQgYXMgQnV0dG9uIH0gZnJvbSBcIi4vQnV0dG9uXCI7XG4iLCJleHBvcnQgeyBkZWZhdWx0IGFzIENvbG9yU3dhdGNoIH0gZnJvbSBcIi4vQ29sb3JTd2F0Y2hcIjtcbiIsImV4cG9ydCB7IGRlZmF1bHQgYXMgTW9kYWwgfSBmcm9tIFwiLi9Nb2RhbFwiO1xuIiwiZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9CdXR0b25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvQnV0dG9uTGlua1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9Db2xvclBpY2tlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9Db2xvclN3YXRjaFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9Db25maXJtYXRpb25Nb2RhbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9GbG9hdGluZ1BhbmVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL0ljb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvSWNvbkJ1dHRvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9JY29uQnV0dG9uTGlua1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9JbWFnZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9MaXN0Vmlld1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9NZW51XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL01vZGFsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL092ZXJsYXlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvVGV4dElucHV0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL1RvYXN0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL1ZpZGVvXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ob29rc1wiO1xuIiwiaW1wb3J0IFJlYWN0LCB7IFJlYWN0Tm9kZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGNsYXNzY2F0IGZyb20gXCJjbGFzc2NhdFwiO1xuXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL0J1dHRvbi5tb2R1bGUuY3NzXCI7XG5pbXBvcnQgeyBTaXplIH0gZnJvbSBcIi4uLy4uL3R5cGVzXCI7XG5cbnR5cGUgQnV0dG9uUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBpbnZlcnRlZD86IGJvb2xlYW47XG4gIHJvdW5kZWQ/OiBib29sZWFuO1xuICBub1NoYWRvdz86IGJvb2xlYW47XG4gIG5vUGFkZGluZz86IGJvb2xlYW47XG4gIG5vQm9yZGVyPzogYm9vbGVhbjtcbiAgdHJhbnNwYXJlbnQ/OiBib29sZWFuO1xuICBzdHJldGNoSG9yaXpvbnRhbGx5PzogYm9vbGVhbjtcbiAgc3RyZXRjaFZlcnRpY2FsbHk/OiBib29sZWFuO1xuICBvbkNsaWNrPzogKGV2ZW50OiBSZWFjdC5TeW50aGV0aWNFdmVudCkgPT4gdm9pZDtcbiAgc2l6ZT86IFNpemUsXG4gIHR5cGU/OiBcInN1Ym1pdFwiIHwgXCJyZXNldFwiIHwgXCJidXR0b25cIixcbiAgYWxpZ24/OiBcImxlZnRcIiB8IFwiY2VudGVyXCIsXG4gIG9mZnNldFNpZGVzPzogQXJyYXk8XCJsZWZ0XCIgfCBcInJpZ2h0XCI+LFxufVxuXG5mdW5jdGlvbiBCdXR0b24oe1xuICBjaGlsZHJlbixcbiAgY2xhc3NOYW1lLFxuICBvbkNsaWNrLFxuICBkaXNhYmxlZCA9IGZhbHNlLFxuICBpbnZlcnRlZCA9IGZhbHNlLFxuICByb3VuZGVkID0gZmFsc2UsXG4gIG5vU2hhZG93ID0gZmFsc2UsXG4gIG5vUGFkZGluZyA9IGZhbHNlLFxuICBub0JvcmRlciA9IGZhbHNlLFxuICB0cmFuc3BhcmVudCA9IGZhbHNlLFxuICBzdHJldGNoSG9yaXpvbnRhbGx5ID0gZmFsc2UsXG4gIHN0cmV0Y2hWZXJ0aWNhbGx5ID0gZmFsc2UsXG4gIG9mZnNldFNpZGVzID0gW10sXG4gIGFsaWduID0gXCJjZW50ZXJcIixcbiAgc2l6ZSA9IFwibWVkaXVtXCIsXG4gIHR5cGUsXG59OiBCdXR0b25Qcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NjYXQoW1xuICAgICAgICBzdHlsZXMuY29udGFpbmVyLFxuICAgICAgICBzdHlsZXNbc2l6ZV0sXG4gICAgICAgIHN0eWxlc1thbGlnbl0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzLmludmVydGVkXTogaW52ZXJ0ZWQsXG4gICAgICAgICAgW3N0eWxlcy5yb3VuZGVkXTogcm91bmRlZCxcbiAgICAgICAgICBbc3R5bGVzLm5vU2hhZG93XTogbm9TaGFkb3csXG4gICAgICAgICAgW3N0eWxlcy5ub1BhZGRpbmddOiBub1BhZGRpbmcsXG4gICAgICAgICAgW3N0eWxlcy5ub0JvcmRlcl06IG5vQm9yZGVyLFxuICAgICAgICAgIFtzdHlsZXMudHJhbnNwYXJlbnRdOiB0cmFuc3BhcmVudCxcbiAgICAgICAgICBbc3R5bGVzLnN0cmV0Y2hIb3Jpem9udGFsbHldOiBzdHJldGNoSG9yaXpvbnRhbGx5LFxuICAgICAgICAgIFtzdHlsZXMuc3RyZXRjaFZlcnRpY2FsbHldOiBzdHJldGNoVmVydGljYWxseSxcbiAgICAgICAgICBbc3R5bGVzLmxlZnRPZmZzZXRdOiByb3VuZGVkICYmIG9mZnNldFNpZGVzLmluY2x1ZGVzKFwibGVmdFwiKSxcbiAgICAgICAgICBbc3R5bGVzLnJpZ2h0T2Zmc2V0XTogcm91bmRlZCAmJiBvZmZzZXRTaWRlcy5pbmNsdWRlcyhcInJpZ2h0XCIpLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWUsXG4gICAgICBdKX1cbiAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgICB0eXBlPXt0eXBlfVxuICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgPlxuICAgICAge3R5cGVvZiBjaGlsZHJlbiAhPT0gXCJzdHJpbmdcIiAmJiBBcnJheS5pc0FycmF5KGNoaWxkcmVuKSAmJiBjaGlsZHJlbi5sZW5ndGggID8gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLmNvbnRlbnR9PntjaGlsZHJlbn08L2Rpdj5cbiAgICAgICkgOiBjaGlsZHJlbn1cbiAgICA8L2J1dHRvbj5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgQnV0dG9uO1xuIiwiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luXG5tb2R1bGUuZXhwb3J0cyA9IHtcImNvbnRhaW5lclwiOlwiTTlfZWdFQzhtc3UxMzVvUEdWZElmXCIsXCJsZWZ0XCI6XCJSU1JiVGc4WWM0LXM4azZxVV92Q2dcIixcInNtYWxsXCI6XCJfMWJOUWhiWndMQThFckxtd2RRaXRKZVwiLFwibGFyZ2VcIjpcIl8yRHdMRkQtNGdEejlIRUFBaXdXSlBxXCIsXCJpbnZlcnRlZFwiOlwiXzMxQ2ZtVFVZcEVoMWhadmN0UTlsSzRcIixcInJvdW5kZWRcIjpcIl8yYnEzMXFLRDdCNnI2Q1RDT0wzZHJXXCIsXCJyaWdodE9mZnNldFwiOlwiXzJlVUNXUU1FVE9naVh1aWI3WGZUaFpcIixcImxlZnRPZmZzZXRcIjpcIkc4b19PTURVRnNFUTF5dFU3b1VZR1wiLFwibm9TaGFkb3dcIjpcIl8ydmtuaFVGQUlHbWpYczd0Z2tBQzdJXCIsXCJub0JvcmRlclwiOlwiXzJwMEdwZG1QS0lGQ1VlczU4NFlIZVZcIixcInRyYW5zcGFyZW50XCI6XCJfOHZNbFNSSF85SG9SR0poOFN3a2FcIixcInN0cmV0Y2hIb3Jpem9udGFsbHlcIjpcIm5aOXJPWnd6R1hWSTNheVJnQTNRQ1wiLFwic3RyZXRjaFZlcnRpY2FsbHlcIjpcIl8xeThpZmI5NXNwVExXR0Ftc2J3MVIyXCIsXCJub1BhZGRpbmdcIjpcIl8zY080OUpFTE5LdEd5YUZ4UmxzaHlPXCIsXCJjb250ZW50XCI6XCJvOGQ3WW9UODN1bWVQUFNGekszMVlcIn07IiwiaW1wb3J0IFJlYWN0LCB7IFJlYWN0Tm9kZSwgUmVhY3RUeXBlLCBBbmNob3JIVE1MQXR0cmlidXRlcyB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGNsYXNzY2F0IGZyb20gXCJjbGFzc2NhdFwiO1xuXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL0J1dHRvbkxpbmsubW9kdWxlLmNzc1wiO1xuaW1wb3J0IHsgU2l6ZSB9IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuXG50eXBlIE9mZnNldFNpZGUgPSBcImxlZnRcIiB8IFwicmlnaHRcIjtcblxudHlwZSBCdXR0b25MaW5rUHJvcHMgPSB7XG4gIGFzPzogUmVhY3RUeXBlO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIGludmVydGVkPzogYm9vbGVhbjtcbiAgcm91bmRlZD86IGJvb2xlYW47XG4gIHRyYW5zcGFyZW50PzogYm9vbGVhbjtcbiAgbm9TaGFkb3c/OiBib29sZWFuO1xuICBub1BhZGRpbmc/OiBib29sZWFuO1xuICBub0JvcmRlcj86IGJvb2xlYW47XG4gIHN0cmV0Y2hIb3Jpem9udGFsbHk/OiBib29sZWFuO1xuICBzdHJldGNoVmVydGljYWxseT86IGJvb2xlYW47XG4gIHNpemU/OiBTaXplO1xuICBvZmZzZXRTaWRlcz86IEFycmF5PE9mZnNldFNpZGU+O1xuICBhbGlnbj86IFwibGVmdFwiIHwgXCJjZW50ZXJcIjtcbn0gfCBhbnk7XG5cbmZ1bmN0aW9uIEJ1dHRvbkxpbmsoe1xuICBhczogQ29tcG9uZW50LFxuICBjaGlsZHJlbixcbiAgY2xhc3NOYW1lLFxuICBzaXplLFxuICBpbnZlcnRlZCA9IGZhbHNlLFxuICByb3VuZGVkID0gZmFsc2UsXG4gIHRyYW5zcGFyZW50ID0gZmFsc2UsXG4gIG5vU2hhZG93ID0gZmFsc2UsXG4gIG5vUGFkZGluZyA9IGZhbHNlLFxuICBub0JvcmRlciA9IGZhbHNlLFxuICBzdHJldGNoSG9yaXpvbnRhbGx5ID0gZmFsc2UsXG4gIHN0cmV0Y2hWZXJ0aWNhbGx5ID0gZmFsc2UsXG4gIG9mZnNldFNpZGVzID0gW10sXG4gIGFsaWduID0gXCJjZW50ZXJcIixcbiAgLi4ucHJvcHNcbn06IEJ1dHRvbkxpbmtQcm9wcykge1xuICBpZiAodHlwZW9mIENvbXBvbmVudCA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgIENvbXBvbmVudCA9IFwiYVwiO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8Q29tcG9uZW50XG4gICAgICBkYXRhLXRlc3RpZD1cImJ1dHRvbi1saW5rXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NjYXQoW1xuICAgICAgICBzdHlsZXMuY29udGFpbmVyLFxuICAgICAgICBzdHlsZXNbc2l6ZV0sXG4gICAgICAgIHN0eWxlc1thbGlnbl0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzLmludmVydGVkXTogaW52ZXJ0ZWQsXG4gICAgICAgICAgW3N0eWxlcy5yb3VuZGVkXTogcm91bmRlZCxcbiAgICAgICAgICBbc3R5bGVzLm5vU2hhZG93XTogbm9TaGFkb3csXG4gICAgICAgICAgW3N0eWxlcy5ub1BhZGRpbmddOiBub1BhZGRpbmcsXG4gICAgICAgICAgW3N0eWxlcy5ub0JvcmRlcl06IG5vQm9yZGVyLFxuICAgICAgICAgIFtzdHlsZXMudHJhbnNwYXJlbnRdOiB0cmFuc3BhcmVudCxcbiAgICAgICAgICBbc3R5bGVzLnN0cmV0Y2hIb3Jpem9udGFsbHldOiBzdHJldGNoSG9yaXpvbnRhbGx5LFxuICAgICAgICAgIFtzdHlsZXMuc3RyZXRjaFZlcnRpY2FsbHldOiBzdHJldGNoVmVydGljYWxseSxcbiAgICAgICAgICBbc3R5bGVzLmxlZnRPZmZzZXRdOiByb3VuZGVkICYmIG9mZnNldFNpZGVzLmluY2x1ZGVzKFwibGVmdFwiKSxcbiAgICAgICAgICBbc3R5bGVzLnJpZ2h0T2Zmc2V0XTogcm91bmRlZCAmJiBvZmZzZXRTaWRlcy5pbmNsdWRlcyhcInJpZ2h0XCIpLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWUsXG4gICAgICBdKX1cbiAgICAgIHsuLi5wcm9wc31cbiAgICA+XG4gICAgICB7dHlwZW9mIGNoaWxkcmVuICE9PSBcInN0cmluZ1wiICYmIEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pICYmIGNoaWxkcmVuLmxlbmd0aCAgPyAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuY29udGVudH0+e2NoaWxkcmVufTwvZGl2PlxuICAgICAgKSA6IChcbiAgICAgICAgY2hpbGRyZW5cbiAgICAgICl9XG4gICAgPC9Db21wb25lbnQ+XG4gICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IEJ1dHRvbkxpbms7XG4iLCIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW5cbm1vZHVsZS5leHBvcnRzID0ge1wiY29udGFpbmVyXCI6XCJfM2VWQmdta0c2aGpWb2ttNVh5NFVNUVwiLFwibGVmdFwiOlwiXzNGNmhNRVFrSmd5d1VrdDFmd21Uc3lcIixcInNtYWxsXCI6XCJfOEk5ZmhuemJNdkNybDVLUGo5ZjBcIixcIm1lZGl1bVwiOlwiY3NqNFBLUWdkUEJlRjdSZDVaLVdRXCIsXCJsYXJnZVwiOlwiXzNfU3dxbURXT0d2ODc3aUhBQ25KcENcIixcImludmVydGVkXCI6XCJfMXhPYTNDQlJIelBDUldOc2lKNjVhQ1wiLFwicm91bmRlZFwiOlwiXzNVR2xPSXR6S29rVmcwd0dIMGVJbFhcIixcInJpZ2h0T2Zmc2V0XCI6XCJfMTN0UHNwNmRmQTFUd2IxTU1IUmlHVFwiLFwibGVmdE9mZnNldFwiOlwiTkk1bjZiRVZSQ1FQeTZBT0FzUTFxXCIsXCJub1NoYWRvd1wiOlwiZ0lZOWl1dkMyVld4Y3Z3d0NtYUpKXCIsXCJ0cmFuc3BhcmVudFwiOlwiXzNYZmxoM1ExQVpuVE9EMGN0cXVJNndcIixcInN0cmV0Y2hIb3Jpem9udGFsbHlcIjpcIl8yRmJSREVHU183ZU1VY0owVmlPQlUwXCIsXCJzdHJldGNoVmVydGljYWxseVwiOlwiXzFyUG0tdDVaV3dyUy1MOWw3ejY2amJcIixcIm5vUGFkZGluZ1wiOlwiXzNKOERlYUxxNWl3M0FwN3FLSmtQOUJcIixcIm5vQm9yZGVyXCI6XCJfM2NFUXMtS19tU2hGTkRnRFAzMldkNlwiLFwiY29udGVudFwiOlwiXzFWVHlmVHdWbG9BY1p3WUNaeXNsc0pcIn07IiwiZXhwb3J0IHsgZGVmYXVsdCBhcyBDb2xvclBpY2tlciB9IGZyb20gXCIuL0NvbG9yUGlja2VyXCI7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgY2xhc3NjYXQgZnJvbSBcImNsYXNzY2F0XCI7XG5cbmltcG9ydCB7IENvbG9yU3dhdGNoIH0gZnJvbSBcIi4uL0NvbG9yU3dhdGNoXCI7XG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL0NvbG9yUGlja2VyLm1vZHVsZS5jc3NcIjtcbmltcG9ydCB7IENvbG9yIH0gZnJvbSBcIi4uLy4uL3R5cGVzXCI7XG5cbnR5cGUgQ29sb3JQaWNrZXJQcm9wcyA9IHtcbiAgZGlyZWN0aW9uPzogXCJob3Jpem9udGFsXCIgfCBcInZlcnRpY2FsXCI7XG4gIGNvbG9yczogQ29sb3JbXTtcbiAgb25TZWxlY3Q6IChjb2xvcjogQ29sb3IpID0+IHZvaWQ7XG4gIHNlbGVjdGVkQ29sb3I/OiBDb2xvcjtcbn1cblxuZnVuY3Rpb24gQ29sb3JQaWNrZXIoeyBjb2xvcnMsIG9uU2VsZWN0LCBzZWxlY3RlZENvbG9yLCBkaXJlY3Rpb24gPSBcInZlcnRpY2FsXCJ9OiBDb2xvclBpY2tlclByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzY2F0KFtzdHlsZXMuY29sb3JQaWNrZXIsIHN0eWxlc1tkaXJlY3Rpb25dXSl9PlxuICAgICAge2NvbG9ycy5tYXAoKGNvbG9yOiBDb2xvcikgPT4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxDb2xvclN3YXRjaFxuICAgICAgICAgICAga2V5PXtjb2xvci5rZXl9XG4gICAgICAgICAgICBjb2xvcj17Y29sb3J9XG4gICAgICAgICAgICBpc1NlbGVjdGVkPXtjb2xvciA9PT0gc2VsZWN0ZWRDb2xvcn1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uU2VsZWN0KGNvbG9yKX1cbiAgICAgICAgICAvPlxuICAgICAgICApO1xuICAgICAgfSl9XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IENvbG9yUGlja2VyO1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGNsYXNzY2F0IGZyb20gXCJjbGFzc2NhdFwiO1xuXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL0NvbG9yU3dhdGNoLm1vZHVsZS5jc3NcIjtcbmltcG9ydCB7IENvbG9yIH0gZnJvbSBcIi4uLy4uL3R5cGVzXCI7XG5cbnR5cGUgQ29sb3JTd2F0Y2hQcm9wcyA9IHtcbiAgY29sb3I6IENvbG9yO1xuICBpc1NlbGVjdGVkPzogYm9vbGVhbjtcbiAgb25DbGljazogKCkgPT4gdm9pZDtcbn1cblxuZnVuY3Rpb24gQ29sb3JTd2F0Y2goeyBjb2xvciwgb25DbGljaywgaXNTZWxlY3RlZCA9IGZhbHNlIH06IENvbG9yU3dhdGNoUHJvcHMpIHtcbiAgcmV0dXJuIChcbiAgICA8YnV0dG9uXG4gICAgICBjbGFzc05hbWU9e2NsYXNzY2F0KFtcbiAgICAgICAgc3R5bGVzLmNvbG9yU3dhdGNoLFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlcy5zZWxlY3RlZF06IGlzU2VsZWN0ZWQsXG4gICAgICAgIH0sXG4gICAgICBdKX1cbiAgICAgIGRhdGEtdGVzdGlkPVwiY29sb3Itc3dhdGNoXCJcbiAgICAgIGRpc2FibGVkPXtpc1NlbGVjdGVkfVxuICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgIHN0eWxlPXt7IGJhY2tncm91bmRDb2xvcjogY29sb3IuaGV4Q29kZSB9fVxuICAgID5cbiAgICAgIDxzcGFuIGNsYXNzTmFtZT17c3R5bGVzLnNyT25seX0+e2BTZWxlY3QgJHtjb2xvci5sYWJlbH0gY29sb3JgfTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgQ29sb3JTd2F0Y2g7XG4iLCIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW5cbm1vZHVsZS5leHBvcnRzID0ge1wiY29sb3JTd2F0Y2hcIjpcIl8xM3NzMXhzTU5penZFZ1BfaHhFVjhCXCIsXCJzZWxlY3RlZFwiOlwiTDZmQXQ2UlpZel96M3dQYmpaRXhIXCIsXCJzck9ubHlcIjpcIl8zdko1bXhwemFZc0theGYtOHRCMzF4XCJ9OyIsIi8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpblxubW9kdWxlLmV4cG9ydHMgPSB7XCJjb2xvclBpY2tlclwiOlwiXzMxRndIX25XcjcyazNwdWdBcEp1YjlcIixcImhvcml6b250YWxcIjpcIlFhLUJwdVRUMmt4cG1WX0FRZ0NqSFwiLFwidmVydGljYWxcIjpcIl8yeDRTQW5ib3B5Wm1reWNXTEMwRVhrXCJ9OyIsImV4cG9ydCB7IGRlZmF1bHQgYXMgQ29uZmlybWF0aW9uTW9kYWwgfSBmcm9tIFwiLi9Db25maXJtYXRpb25Nb2RhbFwiO1xuIiwiaW1wb3J0IFJlYWN0LCB7IFJlYWN0RWxlbWVudCwgUmVhY3ROb2RlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgY2xhc3NjYXQgZnJvbSBcImNsYXNzY2F0XCI7XG5cbmltcG9ydCB7IE1vZGFsIH0gZnJvbSBcIi4uL01vZGFsXCI7XG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL0NvbmZpcm1hdGlvbk1vZGFsLm1vZHVsZS5jc3NcIjtcblxudHlwZSBDb25maXJtYXRpb25Nb2RhbFByb3BzID0ge1xuICBidXR0b25zTGVmdD86IFJlYWN0RWxlbWVudFtdO1xuICBidXR0b25zUmlnaHQ/OiBSZWFjdEVsZW1lbnRbXTtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG4gIGhlYWRlcjogc3RyaW5nO1xuICBpc09wZW46IGJvb2xlYW47XG4gIG5vUGFkZGluZz86IGJvb2xlYW47XG4gIG9uQ2xvc2U/OiAoKSA9PiB2b2lkO1xufTtcblxuZnVuY3Rpb24gQ29uZmlybWF0aW9uTW9kYWwoe1xuICBjaGlsZHJlbixcbiAgaGVhZGVyLFxuICBpc09wZW4sXG4gIGJ1dHRvbnNMZWZ0ID0gW10sXG4gIGJ1dHRvbnNSaWdodCA9IFtdLFxuICBvbkNsb3NlID0gKCkgPT4ge30sXG4gIG5vUGFkZGluZyA9IGZhbHNlLFxufTogQ29uZmlybWF0aW9uTW9kYWxQcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxNb2RhbCBpc09wZW49e2lzT3Blbn0gb25DbG9zZT17b25DbG9zZX0+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLmNvbnRhaW5lcn0+XG4gICAgICAgIDxoMSBjbGFzc05hbWU9e3N0eWxlcy5tb2RhbEhlYWRlcn0+e2hlYWRlcn08L2gxPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2NhdChbXG4gICAgICAgICAgICBzdHlsZXMubW9kYWxDb250ZW50LFxuICAgICAgICAgICAgeyBbc3R5bGVzLm5vUGFkZGluZ106IG5vUGFkZGluZyB9LFxuICAgICAgICAgIF0pfVxuICAgICAgICA+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy5tb2RhbEJ1dHRvbnNDb250YWluZXJ9PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMubW9kYWxCdXR0b25zfT57YnV0dG9uc0xlZnR9PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy5tb2RhbEJ1dHRvbnN9PntidXR0b25zUmlnaHR9PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9Nb2RhbD5cbiAgKTtcbn1cblxuQ29uZmlybWF0aW9uTW9kYWwuZGlzcGxheU5hbWUgPSBcIkNvbmZpcm1hdGlvbk1vZGFsXCI7XG5cbmV4cG9ydCBkZWZhdWx0IENvbmZpcm1hdGlvbk1vZGFsO1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrLCBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZUhvdGtleXMgfSBmcm9tIFwicmVhY3QtaG90a2V5cy1ob29rXCI7XG5cbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vTW9kYWwubW9kdWxlLmNzc1wiO1xuXG50eXBlIE1vZGFsUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGUsXG4gIGlzT3BlbjogYm9vbGVhbixcbiAgb25DbG9zZT86ICgpID0+IHZvaWQsXG4gIGJ1dHRvbj86IFJlYWN0Tm9kZSxcbn1cblxuZnVuY3Rpb24gTW9kYWwoe1xuICBjaGlsZHJlbixcbiAgaXNPcGVuLFxuICBidXR0b24sXG4gIG9uQ2xvc2UgPSAoKSA9PiB7fVxuIH06IE1vZGFsUHJvcHMpIHtcbiAgdXNlSG90a2V5cyhcIkVzY2FwZVwiLCBvbkNsb3NlKTtcblxuICBjb25zdCBoYW5kbGVPdmVybGF5Q2xpY2sgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgb25DbG9zZSgpO1xuICB9LCBbb25DbG9zZV0pO1xuXG4gIHJldHVybiAoXG4gICAgaXNPcGVuICYmIChcbiAgICAgIDw+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlcy5vdmVybGF5fVxuICAgICAgICAgIGRhdGEtdGVzdGlkPVwibW9kYWwtb3ZlcmxheVwiXG4gICAgICAgICAgb25DbGljaz17aGFuZGxlT3ZlcmxheUNsaWNrfVxuICAgICAgICAvPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLm1vZGFsfSBkYXRhLXRlc3RpZD1cIm1vZGFsXCI+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAge2J1dHRvbiAmJiA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLm1vZGFsQnV0dG9ufT57YnV0dG9ufTwvZGl2Pn1cbiAgICAgIDwvPlxuICAgIClcbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTW9kYWw7XG4iLCIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW5cbm1vZHVsZS5leHBvcnRzID0ge1wib3ZlcmxheVwiOlwiXzF5eENiUUpxU3RVdnl0dktFZU5DM25cIixcIm1vZGFsXCI6XCJEOFNqQngzaWt6NjM2WXVibkhZQVlcIixcIm1vZGFsQnV0dG9uXCI6XCJvOFZSVnhNcnMxeFhhdkFEeXhqTEdcIn07IiwiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luXG5tb2R1bGUuZXhwb3J0cyA9IHtcImNvbnRhaW5lclwiOlwia2tnSG9CUWhGUHNLal94MVpGZFJIXCIsXCJtb2RhbEhlYWRlclwiOlwiXzFXdXZIRC1HZFhMcnRxd2EwNFcxcXlcIixcIm1vZGFsQ29udGVudFwiOlwiXzI3ZVV5U1FxdnE1cWxvTkNsSWpJU1RcIixcIm5vUGFkZGluZ1wiOlwiXzJndEJYTDlQRlNwSHNXMEE5eGQ1NVNcIixcIm1vZGFsQnV0dG9uc0NvbnRhaW5lclwiOlwiXzVnSXB5RjNYNXRoUFFBbnNBQzR6OVwiLFwibW9kYWxCdXR0b25zXCI6XCJzd3NvQ2lpMXc0eE5sN2lvRFZrTzVcIn07IiwiZXhwb3J0IHsgZGVmYXVsdCBhcyBGbG9hdGluZ1BhbmVsIH0gZnJvbSBcIi4vRmxvYXRpbmdQYW5lbFwiO1xuIiwiaW1wb3J0IFJlYWN0LCB7IFJlYWN0Tm9kZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGNsYXNzY2F0IGZyb20gXCJjbGFzc2NhdFwiO1xuXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL0Zsb2F0aW5nUGFuZWwubW9kdWxlLmNzc1wiO1xuXG50eXBlIFBsYWNlbWVudCA9IHtcbiAgaG9yaXpvbnRhbDogXCJyaWdodFwiIHwgXCJyaWdodEVkZ2VcIiB8IFwicmlnaHRPbkVkZ2VcIiB8IFwibGVmdFwiIHwgXCJsZWZ0RWRnZVwiIHwgXCJsZWZ0T25FZGdlXCIgfCBcImxlZnRPbkVkZ2VcIiB8IFwiY2VudGVyXCI7XG4gIHZlcnRpY2FsOiBcInRvcFwiIHwgXCJ0b3BFZGdlXCIgfCBcImJvdHRvbVwiIHwgXCJib3R0b21FZGdlXCIgfCBcImJvdHRvbU9uRWRnZVwiIHwgXCJjZW50ZXJcIjtcbiAgcGFyZW50OiBcInZpZXdwb3J0XCIgfCBcImNvbnRhaW5lclwiO1xufTtcblxudHlwZSBGbG9hdGluZ1BhbmVsUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIGxheW91dD86IFwiY29sdW1uXCIgfCBcInJvd1wiO1xuICBwbGFjZW1lbnQ/OiBQbGFjZW1lbnQ7XG59O1xuXG5mdW5jdGlvbiBGbG9hdGluZ1BhbmVsKHtcbiAgY2hpbGRyZW4sXG4gIGxheW91dCA9IFwiY29sdW1uXCIsXG4gIHBsYWNlbWVudCA9IHsgaG9yaXpvbnRhbDogXCJjZW50ZXJcIiwgdmVydGljYWw6IFwiYm90dG9tXCIsIHBhcmVudDogXCJ2aWV3cG9ydFwiIH1cbn06IEZsb2F0aW5nUGFuZWxQcm9wcykge1xuICBjb25zdCBob3Jpem9udGFsUGxhY2VtZW50ID1cbiAgICBwbGFjZW1lbnQuaG9yaXpvbnRhbCA9PT0gXCJjZW50ZXJcIlxuICAgICAgPyBcImhvcml6b250YWxDZW50ZXJcIlxuICAgICAgOiBwbGFjZW1lbnQuaG9yaXpvbnRhbDtcblxuICBjb25zdCB2ZXJ0aWNhbFBsYWNlbWVudCA9XG4gICAgcGxhY2VtZW50LnZlcnRpY2FsID09PSBcImNlbnRlclwiID8gXCJ2ZXJ0aWNhbENlbnRlclwiIDogcGxhY2VtZW50LnZlcnRpY2FsO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgZGF0YS10ZXN0aWQ9XCJmbG9hdGluZy1wYW5lbFwiXG4gICAgICBjbGFzc05hbWU9e2NsYXNzY2F0KFtcbiAgICAgICAgc3R5bGVzLmNvbnRhaW5lcixcbiAgICAgICAgc3R5bGVzW2hvcml6b250YWxQbGFjZW1lbnRdLFxuICAgICAgICBzdHlsZXNbdmVydGljYWxQbGFjZW1lbnRdLFxuICAgICAgICBzdHlsZXNbbGF5b3V0XSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXMuZml4ZWRdOiBwbGFjZW1lbnQucGFyZW50ICE9PSBcImNvbnRhaW5lclwiLFxuICAgICAgICB9LFxuICAgICAgXSl9XG4gICAgPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvZGl2PlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBGbG9hdGluZ1BhbmVsO1xuIiwiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luXG5tb2R1bGUuZXhwb3J0cyA9IHtcImNvbnRhaW5lclwiOlwiYTZOSE8yQ1ZWQ2Zpbml5ZTJYTE4tXCIsXCJyb3dcIjpcIl8zUlNnQjc2ckVCbmlQYzJZY3I4WmJ2XCIsXCJjb2x1bW5cIjpcIl8xSmtYMTVpZ2NsbmJtNXNSU2NXVkRZXCIsXCJmaXhlZFwiOlwiTU1RMXlqRWFmV2tZRlZESE1wVGJJXCIsXCJwbGFpblwiOlwiXzNtMk1fTmFyYzV4d0xheThISmxqa2NcIixcInRyYW5zcGFyZW50XCI6XCJfMXJmYTQ5emhaeE5pZno2NE9xYl82UFwiLFwidG9wXCI6XCJfa1VhbG5EZUVmdnpxQWppMEFNRG9cIixcInRvcEVkZ2VcIjpcIlc4SkFJd0xqTzhKUUdidmlacFBRd1wiLFwidG9wT25FZGdlXCI6XCJfM29wSjdFYjZ0ajM5NHVWOGE1N2l4elwiLFwicmlnaHRcIjpcIl8zLXZid2pwMGFQY0xFVjFTeDBJQ2dQXCIsXCJyaWdodEVkZ2VcIjpcIl8zWE5GeTVab01Db1lCSWFiZUdONEJRXCIsXCJyaWdodE9uRWRnZVwiOlwiXzEyYzNDelVNUUU4QUczQUw4SGlraTJcIixcImJvdHRvbVwiOlwiXzNnZUJFTkg1b0VycUdkdC1ReUhuUGhcIixcImJvdHRvbUVkZ2VcIjpcIl8zX3NhTTRHczMyblJiSUhIeElFYkY2XCIsXCJib3R0b21PbkVkZ2VcIjpcIl8yUExFNGRtR2huY2drLWxFbm9VNGt2XCIsXCJsZWZ0XCI6XCJfMWlTQm55WmdQZUZVV29NNGk2ZFNwVVwiLFwibGVmdEVkZ2VcIjpcIl8xZlgxOXFJT1NobjJvNXV1c1J6VGdzXCIsXCJsZWZ0T25FZGdlXCI6XCJLQkhEb2NrdUhURU9LTUdPemFkWGlcIixcImhvcml6b250YWxDZW50ZXJcIjpcIl8zMXQ2dEhSSjVzLTVEY0RMRlRLaDFtXCIsXCJ2ZXJ0aWNhbENlbnRlclwiOlwiXzJocTdma0RYSHhyeHoydDdMTGc0XzlcIn07IiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGNsYXNzY2F0IGZyb20gXCJjbGFzc2NhdFwiO1xuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9JY29uLm1vZHVsZS5jc3NcIjtcblxudHlwZSBJY29uUHJvcHMgPSB7XG4gIHNyYzogc3RyaW5nO1xuICBhbHQ/OiBzdHJpbmc7XG4gIHNpemU/OiBcInNtYWxsXCIgfCBcIm1lZGl1bVwiIHwgXCJsYXJnZVwiO1xuICBpbnZlcnRlZD86IGJvb2xlYW47XG59XG5mdW5jdGlvbiBJY29uKHsgc3JjLCBhbHQsIHNpemUgPSBcIm1lZGl1bVwiLCBpbnZlcnRlZCA9IGZhbHNlIH06IEljb25Qcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxpbWdcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NjYXQoW1xuICAgICAgICBzdHlsZXMuaWNvbixcbiAgICAgICAgc3R5bGVzW3NpemVdLFxuICAgICAgICB7IFtzdHlsZXMuaW52ZXJ0ZWRdOiBpbnZlcnRlZCB9LFxuICAgICAgXSl9XG4gICAgICBjcm9zc09yaWdpbj1cImFub255bW91c1wiXG4gICAgICBkYXRhLXRlc3RpZD1cImljb25cIlxuICAgICAgYWx0PXthbHR9XG4gICAgICBzcmM9e3NyY31cbiAgICAvPlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBJY29uO1xuIiwiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luXG5tb2R1bGUuZXhwb3J0cyA9IHtcImljb25cIjpcInVoOHprbVFwNXliazVXSlNsYTY5RFwiLFwic21hbGxcIjpcIl85RElDdHFtUVNuTFBqbTFYSTdZVnNcIixcIm1lZGl1bVwiOlwic0pweGZZZ2lUejdpazZKT0d1MXdpXCIsXCJsYXJnZVwiOlwiXzJyZ3VjQUg4Qm5saS1jbWp6OWkyQzJcIixcImludmVydGVkXCI6XCJJLWVJNXE4cmQyYlNwOUItRmhVemFcIn07IiwiZXhwb3J0IHsgZGVmYXVsdCBhcyBJY29uQnV0dG9uIH0gZnJvbSBcIi4vSWNvbkJ1dHRvblwiO1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGNsYXNzY2F0IGZyb20gXCJjbGFzc2NhdFwiO1xuXG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIi4uL0ljb25cIjtcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vSWNvbkJ1dHRvbi5tb2R1bGUuY3NzXCI7XG5cbnR5cGUgSWNvbkJ1dHRvblByb3BzID0ge1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIHNyYzogc3RyaW5nO1xuICBhbHQ6IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBpbnZlcnRlZD86IGJvb2xlYW47XG4gIG5vU2hhZG93PzogYm9vbGVhbjtcbiAgbm9Cb3JkZXI/OiBib29sZWFuO1xuICB0cmFuc3BhcmVudD86IGJvb2xlYW47XG4gIHJvdW5kZWQ/OiBib29sZWFuO1xuICBvbkNsaWNrPzogKCkgPT4gdm9pZCxcbiAgc2l6ZT86IFwic21hbGxcIiB8IFwibWVkaXVtXCIgfCBcImxhcmdlXCI7XG4gIHR5cGU/OiBcInN1Ym1pdFwiIHwgXCJyZXNldFwiIHwgXCJidXR0b25cIjtcbiAgb2Zmc2V0U2lkZXM/OiBBcnJheTxcInRvcFwiIHwgXCJyaWdodFwiIHwgXCJib3R0b21cIiB8IFwibGVmdFwiPjtcbn1cblxuZnVuY3Rpb24gSWNvbkJ1dHRvbih7XG4gIGNsYXNzTmFtZSxcbiAgc3JjLFxuICBhbHQsXG4gIG9mZnNldFNpZGVzID0gW10sXG4gIG9uQ2xpY2sgPSAoKSA9PiB7fSxcbiAgZGlzYWJsZWQgPSBmYWxzZSxcbiAgaW52ZXJ0ZWQgPSBmYWxzZSxcbiAgbm9TaGFkb3cgPSBmYWxzZSxcbiAgbm9Cb3JkZXIgPSBmYWxzZSxcbiAgdHJhbnNwYXJlbnQgPSBmYWxzZSxcbiAgcm91bmRlZCA9IGZhbHNlLFxuICBzaXplID0gXCJtZWRpdW1cIixcbiAgdHlwZSA9IFwiYnV0dG9uXCIsXG59OiBJY29uQnV0dG9uUHJvcHMpIHtcbiAgcmV0dXJuIChcbiAgICA8YnV0dG9uXG4gICAgICBjbGFzc05hbWU9e2NsYXNzY2F0KFtcbiAgICAgICAgc3R5bGVzLmNvbnRhaW5lcixcbiAgICAgICAgc3R5bGVzW3NpemVdLFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlcy5pbnZlcnRlZF06IGludmVydGVkLFxuICAgICAgICAgIFtzdHlsZXMucm91bmRlZF06IHJvdW5kZWQsXG4gICAgICAgICAgW3N0eWxlcy5ub1NoYWRvd106IG5vU2hhZG93LFxuICAgICAgICAgIFtzdHlsZXMubm9Cb3JkZXJdOiBub0JvcmRlcixcbiAgICAgICAgICBbc3R5bGVzLnRyYW5zcGFyZW50XTogdHJhbnNwYXJlbnQsXG4gICAgICAgICAgW3N0eWxlcy50b3BPZmZzZXRdOiByb3VuZGVkICYmIG9mZnNldFNpZGVzLmluY2x1ZGVzKFwidG9wXCIpLFxuICAgICAgICAgIFtzdHlsZXMucmlnaHRPZmZzZXRdOiByb3VuZGVkICYmIG9mZnNldFNpZGVzLmluY2x1ZGVzKFwicmlnaHRcIiksXG4gICAgICAgICAgW3N0eWxlcy5ib3R0b21PZmZzZXRdOiByb3VuZGVkICYmIG9mZnNldFNpZGVzLmluY2x1ZGVzKFwiYm90dG9tXCIpLFxuICAgICAgICAgIFtzdHlsZXMubGVmdE9mZnNldF06IHJvdW5kZWQgJiYgb2Zmc2V0U2lkZXMuaW5jbHVkZXMoXCJsZWZ0XCIpLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWUsXG4gICAgICBdKX1cbiAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgICB0eXBlPXt0eXBlfVxuICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgPlxuICAgICAgPEljb24gc3JjPXtzcmN9IGFsdD17YWx0fSBzaXplPXtzaXplfSBpbnZlcnRlZD17aW52ZXJ0ZWR9ICAvPlxuICAgIDwvYnV0dG9uPlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBJY29uQnV0dG9uO1xuIiwiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luXG5tb2R1bGUuZXhwb3J0cyA9IHtcImNvbnRhaW5lclwiOlwiXzJNUHVKM0FwdnJBdnJld2pTV0dBQTJcIixcInNtYWxsXCI6XCJsT2tvYW43ZGJwLWdvRHRKVnVLN0JcIixcIm1lZGl1bVwiOlwiXzNhOWNXdHNfWTd4M3Bhams4dW1OM3pcIixcImxhcmdlXCI6XCJfMmFHNnpYcVRFS1ZjdkJhYW5pQ05CeVwiLFwicm91bmRlZFwiOlwiXzJKWDAzNHFVVENvVGRXQzJwcEE0ODdcIixcInRvcE9mZnNldFwiOlwiXzF3cEMtV1hnTDA2UUt4dFB6T3dOUktcIixcInJpZ2h0T2Zmc2V0XCI6XCJMSXpyUUM3cG9RVDlqVVJCcU1ES2hcIixcImJvdHRvbU9mZnNldFwiOlwiXzJpX3c1VUxrVUs3TFZ3NWhFTzk3RXdcIixcImxlZnRPZmZzZXRcIjpcIl8zOGVLbFRRVFYxWWxuRWUxR21OdFFrXCIsXCJpbnZlcnRlZFwiOlwiXzJOa1o1MHJrQTNlWkN5c1k5RkFwLWVcIixcIm5vU2hhZG93XCI6XCJfM1V5NUhaZHZrV2Y3YmlsVDB3eHdWZVwiLFwibm9Cb3JkZXJcIjpcIl8yRjRIeTlscTVPQ3JFcFBaUGg1eEFKXCIsXCJ0cmFuc3BhcmVudFwiOlwiXzJ1N3FUTWVFOUQ1cnRjc0VjU29BWTNcIn07IiwiZXhwb3J0IHsgZGVmYXVsdCBhcyBJY29uQnV0dG9uTGluayB9IGZyb20gXCIuL0ljb25CdXR0b25MaW5rXCI7XG4iLCJpbXBvcnQgUmVhY3QsIHsgUmVhY3RUeXBlLCBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIjtcblxuaW1wb3J0IGNsYXNzY2F0IGZyb20gXCJjbGFzc2NhdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCIuLi9JY29uXCI7XG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL0ljb25CdXR0b25MaW5rLm1vZHVsZS5jc3NcIjtcbmltcG9ydCB7IFNpemUgfSBmcm9tIFwiLi4vLi4vdHlwZXNcIjtcblxudHlwZSBPZmZzZXRTaWRlID0gXCJ0b3BcIiB8IFwicmlnaHRcIiB8IFwiYm90dG9tXCIgfCBcImxlZnRcIjtcblxudHlwZSBJY29uQnV0dG9uTGlua1Byb3BzID0ge1xuICBhcz86IFJlYWN0VHlwZTtcbiAgc3JjOiBzdHJpbmc7XG4gIGFsdDogc3RyaW5nO1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIGludmVydGVkPzogYm9vbGVhbjtcbiAgcm91bmRlZD86IGJvb2xlYW47XG4gIHRyYW5zcGFyZW50PzogYm9vbGVhbjtcbiAgbm9TaGFkb3c/OiBib29sZWFuO1xuICBub0JvcmRlcj86IGJvb2xlYW47XG4gIHNpemU/OiBTaXplO1xuICBvZmZzZXRTaWRlcz86IEFycmF5PE9mZnNldFNpZGU+O1xufSB8IGFueTtcblxuZnVuY3Rpb24gSWNvbkJ1dHRvbkxpbmsoe1xuICBhczogQ29tcG9uZW50LFxuICBjbGFzc05hbWUsXG4gIHNyYyxcbiAgYWx0LFxuICBpbnZlcnRlZCA9IGZhbHNlLFxuICBub1NoYWRvdyA9IGZhbHNlLFxuICBub0JvcmRlciA9IGZhbHNlLFxuICB0cmFuc3BhcmVudCA9IGZhbHNlLFxuICByb3VuZGVkID0gZmFsc2UsXG4gIG9mZnNldFNpZGVzID0gW10sXG4gIHNpemUgPSBcIm1lZGl1bVwiLFxuICAuLi5wcm9wc1xufTogSWNvbkJ1dHRvbkxpbmtQcm9wcykge1xuICBpZiAodHlwZW9mIENvbXBvbmVudCA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgIENvbXBvbmVudCA9IFwiYVwiO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8Q29tcG9uZW50XG4gICAgICBkYXRhLXRlc3RpZD1cImljb24tYnV0dG9uLWxpbmtcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc2NhdChbXG4gICAgICAgIHN0eWxlcy5jb250YWluZXIsXG4gICAgICAgIHN0eWxlc1tzaXplXSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXMuaW52ZXJ0ZWRdOiBpbnZlcnRlZCxcbiAgICAgICAgICBbc3R5bGVzLnJvdW5kZWRdOiByb3VuZGVkLFxuICAgICAgICAgIFtzdHlsZXMubm9TaGFkb3ddOiBub1NoYWRvdyxcbiAgICAgICAgICBbc3R5bGVzLm5vQm9yZGVyXTogbm9Cb3JkZXIsXG4gICAgICAgICAgW3N0eWxlcy50cmFuc3BhcmVudF06IHRyYW5zcGFyZW50LFxuICAgICAgICAgIFtzdHlsZXMudG9wT2Zmc2V0XTogcm91bmRlZCAmJiBvZmZzZXRTaWRlcy5pbmNsdWRlcyhcInRvcFwiKSxcbiAgICAgICAgICBbc3R5bGVzLnJpZ2h0T2Zmc2V0XTogcm91bmRlZCAmJiBvZmZzZXRTaWRlcy5pbmNsdWRlcyhcInJpZ2h0XCIpLFxuICAgICAgICAgIFtzdHlsZXMuYm90dG9tT2Zmc2V0XTogcm91bmRlZCAmJiBvZmZzZXRTaWRlcy5pbmNsdWRlcyhcImJvdHRvbVwiKSxcbiAgICAgICAgICBbc3R5bGVzLmxlZnRPZmZzZXRdOiByb3VuZGVkICYmIG9mZnNldFNpZGVzLmluY2x1ZGVzKFwibGVmdFwiKSxcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgXSl9XG4gICAgICB7Li4ucHJvcHN9XG4gICAgPlxuICAgICAgPEljb24gc3JjPXtzcmN9IGFsdD17YWx0fSBzaXplPXtzaXplfSBpbnZlcnRlZD17aW52ZXJ0ZWR9IC8+XG4gICAgPC9Db21wb25lbnQ+XG4gICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IEljb25CdXR0b25MaW5rO1xuIiwiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luXG5tb2R1bGUuZXhwb3J0cyA9IHtcImNvbnRhaW5lclwiOlwiXzF1aWZtS05QRHpkdTVZRG5oZ3dQUUtcIixcInNtYWxsXCI6XCJwZkhjWWFldy1Ickh0VE51UjR2N2hcIixcImxhcmdlXCI6XCJfMjZaOUZILUNOUHFmNTVaUlAxdm5hYlwiLFwicm91bmRlZFwiOlwiXzJxN1d2Uk9oTm0zZ3NSSVJhUVFlYVVcIixcInRvcE9mZnNldFwiOlwid1p5X3Z1bFprTWJXU1gwYWtjWkhBXCIsXCJyaWdodE9mZnNldFwiOlwiXzJqaGhwbTYwX3lQRWZ4US13YXpqLTVcIixcImJvdHRvbU9mZnNldFwiOlwiRG5uckc3WlhtVElobVdVY3M5OW0xXCIsXCJsZWZ0T2Zmc2V0XCI6XCJfMVlkQ2c3VDZYamhteHdjakxOU0ViLVwiLFwiaW52ZXJ0ZWRcIjpcIkhWMFItbHF3bXllcXNTMVo4cG9aU1wiLFwibm9TaGFkb3dcIjpcIl8xTFBwdDcwSmppbTZTZlplMzVHMmtiXCIsXCJub0JvcmRlclwiOlwiUmt6U3JHaXhNMjhKTWF0NklCNUxyXCIsXCJ0cmFuc3BhcmVudFwiOlwiXzFLZFhmWTNQazZ0RU5ZSDgxdFdycHNcIn07IiwiZXhwb3J0IHsgZGVmYXVsdCBhcyBJbWFnZSB9IGZyb20gXCIuL0ltYWdlXCI7XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUsIHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgY2xhc3NjYXQgZnJvbSBcImNsYXNzY2F0XCI7XG5cbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vSW1hZ2UubW9kdWxlLmNzc1wiO1xuXG5leHBvcnQgY29uc3QgZW1wdHlJbWFnZSA9XG4gIFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQUFCQ0FRQUFBQzFIQXdDQUFBQUMwbEVRVlI0Mm1Oa1lBQUFBQVlBQWpDQjBDOEFBQUFBU1VWT1JLNUNZSUk9XCI7IC8vIDF4MXBuZ1xuXG50eXBlIEltYWdlUHJvcHMgPSB7XG4gIHNyYzogc3RyaW5nO1xuICBhbHQ/OiBzdHJpbmc7XG4gIHNyY1dpZHRoPzogbnVtYmVyO1xuICBzcmNIZWlnaHQ/OiBudW1iZXI7XG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xuICBhbmltYXRpb24/OiBcImZhZGVJblwiIHwgXCJzY2FsZVVwXCI7XG4gIGxheW91dD86IFwiY292ZXJcIiB8IFwiY29udGFpblwiIHwgXCJzdHJldGNoSG9yaXpvbnRhbGx5XCIgfCBcInN0cmV0Y2hWZXJ0aWNhbGx5XCI7XG59O1xuXG5mdW5jdGlvbiBJbWFnZUNvbXBvbmVudCh7XG4gIHNyYyxcbiAgYWx0LFxuICBzcmNXaWR0aCxcbiAgc3JjSGVpZ2h0LFxuICBjaGlsZHJlbixcbiAgYW5pbWF0aW9uLFxuICBsYXlvdXQgPSBcImNvbnRhaW5cIixcbn06IEltYWdlUHJvcHMpIHtcbiAgY29uc3QgW2lzTG9hZGVkLCBzZXRJc0xvYWRlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGltYWdlUmVmID0gdXNlUmVmKG51bGwpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGVidWdnZXI7XG4gICAgbGV0IGltYWdlID0gbmV3IEltYWdlKCk7XG4gICAgaW1hZ2UuY3Jvc3NPcmlnaW4gPSBcImFub255bW91c1wiO1xuICAgIGltYWdlLnNyYyA9IHNyYztcbiAgICBpbWFnZS5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICBpbWFnZVJlZi5jdXJyZW50LnNldEF0dHJpYnV0ZShcInNyY1wiLCBzcmMpO1xuICAgICAgc2V0SXNMb2FkZWQodHJ1ZSk7XG4gICAgfTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkZWxldGUgaW1hZ2Uub25sb2FkO1xuICAgICAgZGVsZXRlIGltYWdlLnNyYztcbiAgICAgIGRlbGV0ZSBpbWFnZS5jcm9zc09yaWdpbjtcbiAgICAgIGltYWdlID0gbnVsbDtcbiAgICB9O1xuICB9LCBbc3JjXSk7XG5cbiAgcmV0dXJuIGNoaWxkcmVuID8gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2NhdChbc3R5bGVzLmNvbnRhaW5lciwgc3R5bGVzLmhhc092ZXJsYXldKX0+XG4gICAgICA8aW1nXG4gICAgICAgIHJlZj17aW1hZ2VSZWZ9XG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NjYXQoW1xuICAgICAgICAgIHN0eWxlcy5pbWFnZSxcbiAgICAgICAgICBzdHlsZXNbbGF5b3V0XSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBbc3R5bGVzLmZhZGVJbl06IGFuaW1hdGlvbiA9PT0gXCJmYWRlSW5cIiAmJiBpc0xvYWRlZCxcbiAgICAgICAgICAgIFtzdHlsZXMuc2NhbGVVcF06IGFuaW1hdGlvbiA9PT0gXCJzY2FsZVVwXCIgJiYgaXNMb2FkZWQsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSl9XG4gICAgICAgIGNyb3NzT3JpZ2luPVwiYW5vbnltb3VzXCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJpbWFnZVwiXG4gICAgICAgIGFsdD17YWx0fVxuICAgICAgICBzcmM9e2VtcHR5SW1hZ2V9XG4gICAgICAgIHdpZHRoPXtzcmNXaWR0aH1cbiAgICAgICAgaGVpZ2h0PXtzcmNIZWlnaHR9XG4gICAgICAvPlxuICAgICAge2NoaWxkcmVuICYmIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMub3ZlcmxheX0+e2NoaWxkcmVufTwvZGl2Pn1cbiAgICA8L2Rpdj5cbiAgKSA6IChcbiAgICA8aW1nXG4gICAgICByZWY9e2ltYWdlUmVmfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc2NhdChbXG4gICAgICAgIHN0eWxlcy5pbWFnZSxcbiAgICAgICAgc3R5bGVzW2xheW91dF0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzLmZhZGVJbl06IGFuaW1hdGlvbiA9PT0gXCJmYWRlSW5cIiAmJiBpc0xvYWRlZCxcbiAgICAgICAgICBbc3R5bGVzLnNjYWxlVXBdOiBhbmltYXRpb24gPT09IFwic2NhbGVVcFwiICYmIGlzTG9hZGVkLFxuICAgICAgICB9LFxuICAgICAgXSl9XG4gICAgICBjcm9zc09yaWdpbj1cImFub255bW91c1wiXG4gICAgICBkYXRhLXRlc3RpZD1cImltYWdlXCJcbiAgICAgIGFsdD17YWx0fVxuICAgICAgc3JjPXtlbXB0eUltYWdlfVxuICAgICAgd2lkdGg9e3NyY1dpZHRofVxuICAgICAgaGVpZ2h0PXtzcmNIZWlnaHR9XG4gICAgLz5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgSW1hZ2VDb21wb25lbnQ7XG4iLCIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW5cbm1vZHVsZS5leHBvcnRzID0ge1wiY29udGFpbmVyXCI6XCJfM3p3bG44eHBrWndwVFk1aTZKN2JPRFwiLFwiaGFzT3ZlcmxheVwiOlwiXzJlbDh4V3FxZjN3NFMzeDBzMkQ5eGxcIixcIm92ZXJsYXlcIjpcIkVnM2ltZmJYZEk2VTZyZlJFMC1xT1wiLFwiaW1hZ2VcIjpcInQxODk3ZGZ0c19wcUh6U253bVdCV1wiLFwiY292ZXJcIjpcIl8xLVJfSERqTzZxTm55d2NOaVM4YnlEXCIsXCJjb250YWluXCI6XCJfM21EcENqSEoyZzY2ZTB3NFIyRVprR1wiLFwic3RyZXRjaEhvcml6b250YWxseVwiOlwiXzN5RXRIN2NxcFVsVkZhR2lXRzEyOXdcIixcInN0cmV0Y2hWZXJ0aWNhbGx5XCI6XCJseWlCczZPQnh2UkVud0lSMGxzMkNcIixcImZhZGVJblwiOlwiXzJPS0p3OFVkdDkxNklYbVRsVDk4NllcIixcImZhZGVJbkFuaW1hdGlvblwiOlwiTm9PVnJXNDY2SHRrNkVwWjF3WWlJXCIsXCJzY2FsZVVwXCI6XCJfMzA5VlRxalZIcFZKSHV5QVFhX2FaaVwiLFwic2NhbGVVcEFuaW1hdGlvblwiOlwiXzNpY2JKcmUwUEo3TUZuWFFpQ1lfcTZcIn07IiwiZXhwb3J0IHsgZGVmYXVsdCBhcyBMaXN0VmlldyB9IGZyb20gXCIuL0xpc3RWaWV3XCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIExpc3RWaWV3SXRlbSB9IGZyb20gXCIuL0xpc3RWaWV3SXRlbVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBMaXN0Vmlld0xpbmtJdGVtIH0gZnJvbSBcIi4vTGlzdFZpZXdMaW5rSXRlbVwiO1xuIiwiaW1wb3J0IFJlYWN0LCB7IFJlYWN0Tm9kZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiO1xuaW1wb3J0IGNsYXNzY2F0IGZyb20gXCJjbGFzc2NhdFwiO1xuXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL0xpc3RWaWV3Lm1vZHVsZS5jc3NcIjtcblxudHlwZSBMaXN0Vmlld1Byb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIGhlYWRlcj86IHN0cmluZztcbn1cblxuZnVuY3Rpb24gTGlzdFZpZXcoeyBjaGlsZHJlbiwgY2xhc3NOYW1lLCBoZWFkZXIgfTogTGlzdFZpZXdQcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2NhdChbc3R5bGVzLmNvbnRhaW5lciwgY2xhc3NOYW1lXSl9PlxuICAgICAge2hlYWRlciAmJiA8aDMgY2xhc3NOYW1lPXtzdHlsZXMuaGVhZGVyfT57aGVhZGVyfTwvaDM+fVxuICAgICAgPHVsIGNsYXNzTmFtZT17c3R5bGVzLmxpc3R9PntjaGlsZHJlbn08L3VsPlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBMaXN0VmlldztcbiIsIi8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpblxubW9kdWxlLmV4cG9ydHMgPSB7XCJjb250YWluZXJcIjpcIkNQSE5kOG9zS2pMdlFERVFVRXJ1eFwiLFwiaGVhZGVyXCI6XCJfMWU3aEhTVm81OWU4eVFuaGM5QjZJZFwiLFwibGlzdFwiOlwiXzF3MVc4RTZfSHpmZXMzV1pUWVphSktcIn07IiwiaW1wb3J0IFJlYWN0LCB7IFJlYWN0Tm9kZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGNsYXNzY2F0IGZyb20gXCJjbGFzc2NhdFwiO1xuXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tIFwiLi4vQnV0dG9uXCI7XG5pbXBvcnQgeyBTaXplIH0gZnJvbSBcIi4uLy4uL3R5cGVzXCI7XG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL0xpc3RWaWV3SXRlbS5tb2R1bGUuY3NzXCI7XG5cbnR5cGUgTGlzdFZpZXdJdGVtUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIGFjdGl2ZT86IGJvb2xlYW47XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgdHJhbnNwYXJlbnQ/OiBib29sZWFuO1xuICBub1BhZGRpbmc/OiBib29sZWFuO1xuICBzaXplPzogU2l6ZTtcbiAgYWxpZ24/OiBcImxlZnRcIiB8IFwiY2VudGVyXCI7XG4gIG9uQ2xpY2s/OiAoKSA9PiB2b2lkLFxufVxuXG5mdW5jdGlvbiBMaXN0Vmlld0l0ZW0oe1xuICBjaGlsZHJlbixcbiAgYWN0aXZlID0gZmFsc2UsXG4gIGRpc2FibGVkID0gZmFsc2UsXG4gIHRyYW5zcGFyZW50ID0gZmFsc2UsXG4gIG5vUGFkZGluZyA9IGZhbHNlLFxuICBzaXplID0gXCJtZWRpdW1cIixcbiAgYWxpZ24gPSBcImNlbnRlclwiLFxuICBvbkNsaWNrID0gKCkgPT4ge30sXG59OiBMaXN0Vmlld0l0ZW1Qcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxsaSBjbGFzc05hbWU9e2NsYXNzY2F0KFtzdHlsZXMubGlzdFZpZXdJdGVtXSl9PlxuICAgICAgPEJ1dHRvblxuICAgICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIGludmVydGVkPXthY3RpdmV9XG4gICAgICAgIHRyYW5zcGFyZW50PXt0cmFuc3BhcmVudH1cbiAgICAgICAgbm9QYWRkaW5nPXtub1BhZGRpbmd9XG4gICAgICAgIGFsaWduPXthbGlnbn1cbiAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgc3RyZXRjaEhvcml6b250YWxseVxuICAgICAgICBub1NoYWRvd1xuICAgICAgICBub0JvcmRlclxuICAgICAgPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L0J1dHRvbj5cbiAgICA8L2xpPlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBMaXN0Vmlld0l0ZW07XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCI7XG5pbXBvcnQgY2xhc3NjYXQgZnJvbSBcImNsYXNzY2F0XCI7XG5pbXBvcnQgeyBCdXR0b25MaW5rIH0gZnJvbSBcIi4uL0J1dHRvbkxpbmtcIjtcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vTGlzdFZpZXdJdGVtLm1vZHVsZS5jc3NcIjtcblxuZnVuY3Rpb24gTGlzdFZpZXdMaW5rSXRlbSh7XG4gIGNoaWxkcmVuLFxuICBhY3RpdmUsXG4gIHRyYW5zcGFyZW50LFxuICBub1BhZGRpbmcsXG4gIHNpemUsXG4gIGFsaWduLFxuICBhcyxcbiAgLi4ucHJvcHNcbn0pIHtcbiAgcmV0dXJuIChcbiAgICA8bGkgY2xhc3NOYW1lPXtjbGFzc2NhdChbc3R5bGVzLmxpc3RWaWV3SXRlbV0pfT5cbiAgICAgIDxCdXR0b25MaW5rXG4gICAgICAgIGFzPXthc31cbiAgICAgICAgaW52ZXJ0ZWQ9e2FjdGl2ZX1cbiAgICAgICAgdHJhbnNwYXJlbnQ9e3RyYW5zcGFyZW50fVxuICAgICAgICBub1BhZGRpbmc9e25vUGFkZGluZ31cbiAgICAgICAgYWxpZ249e2FsaWdufVxuICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICBzdHJldGNoSG9yaXpvbnRhbGx5XG4gICAgICAgIG5vU2hhZG93XG4gICAgICAgIG5vQm9yZGVyXG4gICAgICAgIHsuLi5wcm9wc31cbiAgICAgID5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9CdXR0b25MaW5rPlxuICAgIDwvbGk+XG4gICk7XG59XG5cbkxpc3RWaWV3TGlua0l0ZW0uZGVmYXVsdFByb3BzID0ge1xuICBhY3RpdmU6IGZhbHNlLFxuICB0cmFuc3BhcmVudDogZmFsc2UsXG4gIG5vUGFkZGluZzogZmFsc2UsXG4gIHNpemU6IFwibWVkaXVtXCIsXG4gIGFsaWduOiBcImNlbnRlclwiLFxuICBhczogXCJhXCIsXG59O1xuXG5MaXN0Vmlld0xpbmtJdGVtLnByb3BUeXBlcyA9IHtcbiAgY2hpbGRyZW46IFByb3BUeXBlcy5ub2RlLmlzUmVxdWlyZWQsXG4gIGFzOiBQcm9wVHlwZXMuZWxlbWVudFR5cGUsXG4gIGFjdGl2ZTogUHJvcFR5cGVzLmJvb2wsXG4gIHRyYW5zcGFyZW50OiBQcm9wVHlwZXMuYm9vbCxcbiAgbm9QYWRkaW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgYWxpZ246IFByb3BUeXBlcy5vbmVPZihbXCJsZWZ0XCIsIFwiY2VudGVyXCJdKSxcbiAgc2l6ZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgb25DbGljazogUHJvcFR5cGVzLmZ1bmMsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBMaXN0Vmlld0xpbmtJdGVtO1xuIiwiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBSZWFjdFByb3BUeXBlc1NlY3JldCA9IHJlcXVpcmUoJy4vbGliL1JlYWN0UHJvcFR5cGVzU2VjcmV0Jyk7XG5cbmZ1bmN0aW9uIGVtcHR5RnVuY3Rpb24oKSB7fVxuZnVuY3Rpb24gZW1wdHlGdW5jdGlvbldpdGhSZXNldCgpIHt9XG5lbXB0eUZ1bmN0aW9uV2l0aFJlc2V0LnJlc2V0V2FybmluZ0NhY2hlID0gZW1wdHlGdW5jdGlvbjtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbigpIHtcbiAgZnVuY3Rpb24gc2hpbShwcm9wcywgcHJvcE5hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUsIHNlY3JldCkge1xuICAgIGlmIChzZWNyZXQgPT09IFJlYWN0UHJvcFR5cGVzU2VjcmV0KSB7XG4gICAgICAvLyBJdCBpcyBzdGlsbCBzYWZlIHdoZW4gY2FsbGVkIGZyb20gUmVhY3QuXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHZhciBlcnIgPSBuZXcgRXJyb3IoXG4gICAgICAnQ2FsbGluZyBQcm9wVHlwZXMgdmFsaWRhdG9ycyBkaXJlY3RseSBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBgcHJvcC10eXBlc2AgcGFja2FnZS4gJyArXG4gICAgICAnVXNlIFByb3BUeXBlcy5jaGVja1Byb3BUeXBlcygpIHRvIGNhbGwgdGhlbS4gJyArXG4gICAgICAnUmVhZCBtb3JlIGF0IGh0dHA6Ly9mYi5tZS91c2UtY2hlY2stcHJvcC10eXBlcydcbiAgICApO1xuICAgIGVyci5uYW1lID0gJ0ludmFyaWFudCBWaW9sYXRpb24nO1xuICAgIHRocm93IGVycjtcbiAgfTtcbiAgc2hpbS5pc1JlcXVpcmVkID0gc2hpbTtcbiAgZnVuY3Rpb24gZ2V0U2hpbSgpIHtcbiAgICByZXR1cm4gc2hpbTtcbiAgfTtcbiAgLy8gSW1wb3J0YW50IVxuICAvLyBLZWVwIHRoaXMgbGlzdCBpbiBzeW5jIHdpdGggcHJvZHVjdGlvbiB2ZXJzaW9uIGluIGAuL2ZhY3RvcnlXaXRoVHlwZUNoZWNrZXJzLmpzYC5cbiAgdmFyIFJlYWN0UHJvcFR5cGVzID0ge1xuICAgIGFycmF5OiBzaGltLFxuICAgIGJvb2w6IHNoaW0sXG4gICAgZnVuYzogc2hpbSxcbiAgICBudW1iZXI6IHNoaW0sXG4gICAgb2JqZWN0OiBzaGltLFxuICAgIHN0cmluZzogc2hpbSxcbiAgICBzeW1ib2w6IHNoaW0sXG5cbiAgICBhbnk6IHNoaW0sXG4gICAgYXJyYXlPZjogZ2V0U2hpbSxcbiAgICBlbGVtZW50OiBzaGltLFxuICAgIGVsZW1lbnRUeXBlOiBzaGltLFxuICAgIGluc3RhbmNlT2Y6IGdldFNoaW0sXG4gICAgbm9kZTogc2hpbSxcbiAgICBvYmplY3RPZjogZ2V0U2hpbSxcbiAgICBvbmVPZjogZ2V0U2hpbSxcbiAgICBvbmVPZlR5cGU6IGdldFNoaW0sXG4gICAgc2hhcGU6IGdldFNoaW0sXG4gICAgZXhhY3Q6IGdldFNoaW0sXG5cbiAgICBjaGVja1Byb3BUeXBlczogZW1wdHlGdW5jdGlvbldpdGhSZXNldCxcbiAgICByZXNldFdhcm5pbmdDYWNoZTogZW1wdHlGdW5jdGlvblxuICB9O1xuXG4gIFJlYWN0UHJvcFR5cGVzLlByb3BUeXBlcyA9IFJlYWN0UHJvcFR5cGVzO1xuXG4gIHJldHVybiBSZWFjdFByb3BUeXBlcztcbn07XG4iLCIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIFJlYWN0UHJvcFR5cGVzU2VjcmV0ID0gJ1NFQ1JFVF9ET19OT1RfUEFTU19USElTX09SX1lPVV9XSUxMX0JFX0ZJUkVEJztcblxubW9kdWxlLmV4cG9ydHMgPSBSZWFjdFByb3BUeXBlc1NlY3JldDtcbiIsImV4cG9ydCB7IGRlZmF1bHQgYXMgTWVudSB9IGZyb20gXCIuL01lbnVcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTWVudUNvbnRhaW5lciB9IGZyb20gXCIuL01lbnVDb250YWluZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTWVudUl0ZW0gfSBmcm9tIFwiLi9NZW51SXRlbVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBNZW51TGlua0l0ZW0gfSBmcm9tIFwiLi9NZW51TGlua0l0ZW1cIjtcbiIsImltcG9ydCBSZWFjdCwgeyBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBjbGFzc2NhdCBmcm9tIFwiY2xhc3NjYXRcIjtcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vTWVudS5tb2R1bGUuY3NzXCI7XG5cbnR5cGUgUGxhY2VtZW50ID0ge1xuICBob3Jpem9udGFsOiBcInJpZ2h0XCIgfCBcImxlZnRcIixcbiAgdmVydGljYWw6IFwidG9wXCIgfCBcImJvdHRvbVwiLFxufVxuXG50eXBlIE1lbnVQcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBpc09wZW4/OiBib29sZWFuO1xuICBoZWFkZXI/OiBzdHJpbmc7XG4gIHBsYWNlbWVudD86IFBsYWNlbWVudFxufTtcblxuXG5mdW5jdGlvbiBNZW51KHtcbiAgY2hpbGRyZW4sXG4gIGNsYXNzTmFtZSxcbiAgaXNPcGVuID0gdHJ1ZSxcbiAgcGxhY2VtZW50ID0geyBob3Jpem9udGFsOiBcImxlZnRcIiwgdmVydGljYWw6IFwiYm90dG9tXCIgfSxcbiAgaGVhZGVyXG59OiBNZW51UHJvcHMpIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e2NsYXNzY2F0KFtcbiAgICAgICAgc3R5bGVzLm1lbnUsXG4gICAgICAgIHN0eWxlc1twbGFjZW1lbnQuaG9yaXpvbnRhbF0sXG4gICAgICAgIHN0eWxlc1twbGFjZW1lbnQudmVydGljYWxdLFxuICAgICAgICB7IFtzdHlsZXMub3Blbl06IGlzT3BlbiB9LFxuICAgICAgICBjbGFzc05hbWUsXG4gICAgICBdKX1cbiAgICA+XG4gICAgICB7aGVhZGVyICYmIGlzT3BlbiAmJiA8aDMgY2xhc3NOYW1lPXtzdHlsZXMubWVudUhlYWRlcn0+e2hlYWRlcn08L2gzPn1cbiAgICAgIDx1bD57aXNPcGVuICYmIGNoaWxkcmVufTwvdWw+XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IE1lbnU7XG4iLCIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW5cbm1vZHVsZS5leHBvcnRzID0ge1wibWVudVwiOlwiXzJhaGk4SmNueEdIcm5abUQweFQ5UkxcIixcInRvcFwiOlwiXzNncEZUZDFGZHg0RUFmcTE3MFRHczdcIixcInJpZ2h0XCI6XCJfMUw1QVRwTTlHWHktU09SRnIwRzZTNFwiLFwibGVmdFwiOlwiQ1lFSmwzOVRrRWZuS2FsM3Z0dno5XCIsXCJib3R0b21cIjpcIl8zenlwLU5kVEJlQkRLdmsyNnBzWnVwXCIsXCJvcGVuXCI6XCJfMWlhYXppWnJWSV8tRThEOTlXZE5qaVwiLFwiZW50cmFuY2VcIjpcIl8yZmlLZTQtWDhQcWNHNF85cWVCM1pPXCIsXCJtZW51SGVhZGVyXCI6XCJfMTluazFJTU5TLXVfWUlRTGxtWVJ0VVwifTsiLCJpbXBvcnQgUmVhY3QsIHsgZm9yd2FyZFJlZiwgUmVhY3ROb2RlLCBSZWZPYmplY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBjbGFzc2NhdCBmcm9tIFwiY2xhc3NjYXRcIjtcblxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9NZW51Q29udGFpbmVyLm1vZHVsZS5jc3NcIjtcblxudHlwZSBNZW51Q29udGFpbmVyUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgcmVmPzogKCkgPT4gdm9pZCB8IHsgY3VycmVudDogYW55IH07XG59XG5cbmZ1bmN0aW9uIE1lbnVDb250YWluZXIoeyBjaGlsZHJlbiwgY2xhc3NOYW1lfTogTWVudUNvbnRhaW5lclByb3BzLCByZWY6IFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD4pIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17cmVmfSBjbGFzc05hbWU9e2NsYXNzY2F0KFtzdHlsZXMubWVudUNvbnRhaW5lciwgY2xhc3NOYW1lXSl9PlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvZGl2PlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmb3J3YXJkUmVmKE1lbnVDb250YWluZXIpO1xuIiwiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luXG5tb2R1bGUuZXhwb3J0cyA9IHtcIm1lbnVDb250YWluZXJcIjpcIl8yLVNGd3NwcEV1b2JCSmtBd3dRckZDXCJ9OyIsImltcG9ydCBSZWFjdCwgeyBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBjbGFzc2NhdCBmcm9tIFwiY2xhc3NjYXRcIjtcblxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9NZW51SXRlbS5tb2R1bGUuY3NzXCI7XG5cbnR5cGUgTWVudUl0ZW1Qcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBpc0FjdGl2ZT86IGJvb2xlYW4sXG4gIG9uQ2xpY2s/OiAoKSA9PiB2b2lkLFxufTtcblxuZnVuY3Rpb24gTWVudUl0ZW0oe1xuICBjaGlsZHJlbixcbiAgY2xhc3NOYW1lLFxuICBvbkNsaWNrLFxuICBpc0FjdGl2ZSA9IGZhbHNlXG59OiBNZW51SXRlbVByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPGxpXG4gICAgICBjbGFzc05hbWU9e2NsYXNzY2F0KFtcbiAgICAgICAgc3R5bGVzLm1lbnVJdGVtLFxuICAgICAgICB7IFtzdHlsZXMuYWN0aXZlXTogaXNBY3RpdmUgfSxcbiAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgXSl9XG4gICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L2xpPlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBNZW51SXRlbTtcbiIsIi8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpblxubW9kdWxlLmV4cG9ydHMgPSB7XCJtZW51SXRlbVwiOlwiXzNnR2N6Ukp3ck5lblhUQkxRbkMyOU1cIixcImFjdGl2ZVwiOlwiXzJqMWlsVU5rYkZHU2d1bFhTb0hBZFBcIn07IiwiaW1wb3J0IFJlYWN0LCB7IFJlYWN0Tm9kZSwgUmVhY3RUeXBlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgY2xhc3NjYXQgZnJvbSBcImNsYXNzY2F0XCI7XG5cbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vTWVudUxpbmtJdGVtLm1vZHVsZS5jc3NcIjtcblxudHlwZSBNZW51TGlua0l0ZW1Qcm9wcyA9IHtcbiAgYXM6IFJlYWN0VHlwZTtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgY2xhc3NOYW1lOiBzdHJpbmc7XG59IHwgYW55O1xuXG5mdW5jdGlvbiBNZW51TGlua0l0ZW0oe1xuICBhczogQ29tcG9uZW50LFxuICBjaGlsZHJlbixcbiAgY2xhc3NOYW1lLFxuICAuLi5wcm9wc1xufTogTWVudUxpbmtJdGVtUHJvcHMpIHtcbiAgaWYgKHR5cGVvZiBDb21wb25lbnQgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICBDb21wb25lbnQgPSBcImFcIjtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPENvbXBvbmVudFxuICAgICAgZGF0YS10ZXN0aWQ9XCJtZW51LWxpbmstaXRlbVwiXG4gICAgICBjbGFzc05hbWU9e2NsYXNzY2F0KFtzdHlsZXMubWVudUxpbmtJdGVtLCBjbGFzc05hbWVdKX1cbiAgICAgIHsuLi5wcm9wc31cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9Db21wb25lbnQ+XG4gICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IE1lbnVMaW5rSXRlbTtcbiIsIi8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpblxubW9kdWxlLmV4cG9ydHMgPSB7XCJtZW51TGlua0l0ZW1cIjpcIl8yRHkxTFRmU2NHWnRTYl81THVkLWxVXCIsXCJhY3RpdmVcIjpcIl8yVXdzN2JqM3llam1uMWs3WGl5S2ZRXCIsXCJtZW51SXRlbVwiOlwiXzJsSTdTMnQ1eldoUXN2Z19YblE3LS1cIn07IiwiZXhwb3J0IHsgZGVmYXVsdCBhcyBPdmVybGF5IH0gZnJvbSBcIi4vT3ZlcmxheVwiO1xuIiwiaW1wb3J0IFJlYWN0LCB7IFJlYWN0Tm9kZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGNsYXNzY2F0IGZyb20gXCJjbGFzc2NhdFwiO1xuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9PdmVybGF5Lm1vZHVsZS5jc3NcIjtcblxudHlwZSBPdmVybGF5UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIHRyYW5zcGFyZW50PzogYm9vbGVhbjtcbiAgaXNGaXhlZD86IGJvb2xlYW47XG4gIG9uQ2xpY2s/OiAoKSA9PiB2b2lkO1xufTtcblxuXG5mdW5jdGlvbiBPdmVybGF5KHtcbiAgY2hpbGRyZW4sXG4gIHRyYW5zcGFyZW50ID0gZmFsc2UsXG4gIGlzRml4ZWQgPSBmYWxzZSxcbiAgb25DbGljayA9ICgpID0+IHt9XG59OiBPdmVybGF5UHJvcHMpIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBkYXRhLXRlc3RpZD1cIm92ZXJsYXlcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc2NhdChbXG4gICAgICAgIHN0eWxlcy5vdmVybGF5LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlcy50cmFuc3BhcmVudF06IHRyYW5zcGFyZW50LFxuICAgICAgICAgIFtzdHlsZXMuZml4ZWRdOiBpc0ZpeGVkLFxuICAgICAgICB9LFxuICAgICAgXSl9XG4gICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgT3ZlcmxheTtcbiIsIi8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpblxubW9kdWxlLmV4cG9ydHMgPSB7XCJvdmVybGF5XCI6XCJfMlFncHlyRGNVUXlLWUVTQzVEWFhKclwiLFwidHJhbnNwYXJlbnRcIjpcIl8yOGZWbW94cDY5T1ByODhFdzB6VmVOXCIsXCJmaXhlZFwiOlwiXzJzVTM1MTVFYkZGZ2VQMXlLMlp1YnpcIn07IiwiZXhwb3J0IHsgZGVmYXVsdCBhcyBUZXh0SW5wdXQgfSBmcm9tIFwiLi9UZXh0SW5wdXRcIjtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjayB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGNsYXNzY2F0IGZyb20gXCJjbGFzc2NhdFwiO1xuXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL1RleHRJbnB1dC5tb2R1bGUuY3NzXCI7XG5pbXBvcnQgeyBTaXplLCBUZXh0SW5wdXRUeXBlIH0gZnJvbSBcIi4uLy4uL3R5cGVzXCI7XG5cbnR5cGUgVGV4dElucHV0UHJvcHMgPSB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIG9uQ2hhbmdlPzogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICB2YWx1ZT86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgdHlwZT86IFRleHRJbnB1dFR5cGU7XG4gIHNpemU/OiBTaXplO1xuICBhdXRvRm9jdXM/OiBib29sZWFuO1xuICBpbnB1dFJlZj86ICgpID0+IHZvaWQgfCB7IGN1cnJlbnQ6IGFueSB9XG59O1xuXG5mdW5jdGlvbiBUZXh0SW5wdXQoe1xuICBsYWJlbCxcbiAgb25DaGFuZ2UsXG4gIHBsYWNlaG9sZGVyLFxuICB2YWx1ZSxcbiAgbmFtZSxcbiAgaW5wdXRSZWYsXG4gIHNpemUgPSBcIm1lZGl1bVwiLFxuICBhdXRvRm9jdXMgPSBmYWxzZSxcbiAgdHlwZSA9IFwidGV4dFwiLFxufTogVGV4dElucHV0UHJvcHMpIHtcbiAgY29uc3QgaGFuZGxlQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgKGU6IFJlYWN0LkZvcm1FdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4gb25DaGFuZ2UoKGUudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlKSxcbiAgICBbb25DaGFuZ2VdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8bGFiZWwgY2xhc3NOYW1lPXtzdHlsZXMudGV4dExhYmVsfT5cbiAgICAgIHtsYWJlbH1cbiAgICAgIDxpbnB1dFxuICAgICAgICBkYXRhLXRlc3RpZD1cImlucHV0XCJcbiAgICAgICAgcmVmPXtpbnB1dFJlZn1cbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2NhdChbc3R5bGVzLnRleHRJbnB1dCwgc3R5bGVzW3NpemVdXSl9XG4gICAgICAgIG9uQ2hhbmdlPXshaW5wdXRSZWYgPyBoYW5kbGVDaGFuZ2UgOiB1bmRlZmluZWR9XG4gICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgdHlwZT17dHlwZX1cbiAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICBhdXRvRm9jdXM9e2F1dG9Gb2N1c31cbiAgICAgIC8+XG4gICAgPC9sYWJlbD5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgVGV4dElucHV0O1xuIiwiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luXG5tb2R1bGUuZXhwb3J0cyA9IHtcInRleHRJbnB1dFwiOlwiXzJ3ZnFPeldCb0FuX0s3Z29xdmpYSmVcIixcInNtYWxsXCI6XCJfMWE0UU9WSkIwelczVXJmXzVocU5qalwiLFwibWVkaXVtXCI6XCJfM1VKb2U4bmxwemhWVG1DMDlUVnNvLVwiLFwibGFyZ2VcIjpcIl8zRFE1MlFkXzFLNF9WeHhWdjcyOFNYXCIsXCJ0ZXh0TGFiZWxcIjpcIl8zMW9BQU9FX2R2R29BejlxSm1vOEVHXCJ9OyIsImV4cG9ydCB7IGRlZmF1bHQgYXMgVG9hc3QgfSBmcm9tIFwiLi9Ub2FzdFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBUb2FzdENvbnRhaW5lciB9IGZyb20gXCIuL1RvYXN0Q29udGFpbmVyXCI7XG4iLCJpbXBvcnQgUmVhY3QsIHsgUmVhY3ROb2RlLCBSZWFjdE5vZGVBcnJheSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGNsYXNzY2F0IGZyb20gXCJjbGFzc2NhdFwiO1xuXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL1RvYXN0Lm1vZHVsZS5jc3NcIjtcblxudHlwZSBJbWFnZVR5cGUgPSB7XG4gIHNyYzogc3RyaW5nO1xuICBhbHQ6IHN0cmluZztcbn1cblxudHlwZSBUb2FzdFByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlLFxuICBidXR0b25zOiBSZWFjdE5vZGVBcnJheSxcbiAgaW1hZ2U/OiBJbWFnZVR5cGUsXG4gIG9uQ2xpY2s/OiAoKSA9PiB2b2lkLFxufTtcblxuZnVuY3Rpb24gVG9hc3QoeyBjaGlsZHJlbiwgaW1hZ2UsIGJ1dHRvbnMsIG9uQ2xpY2sgPSAoKSA9PiB7fX06IFRvYXN0UHJvcHMpIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e2NsYXNzY2F0KFtzdHlsZXMudG9hc3RdKX1cbiAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgICBkYXRhLXRlc3RpZD1cInRvYXN0XCJcbiAgICA+XG4gICAgICB7aW1hZ2UgJiYgKFxuICAgICAgICA8aW1nXG4gICAgICAgICAgZGF0YS10ZXN0aWQ9XCJ0b2FzdC1pbWFnZVwiXG4gICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXMudG9hc3RJbWFnZX1cbiAgICAgICAgICBzcmM9e2ltYWdlLnNyY31cbiAgICAgICAgICBhbHQ9e2ltYWdlLmFsdH1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLnRvYXN0Q29udGVudH0+e2NoaWxkcmVufTwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy50b2FzdEJ1dHRvbnN9PntidXR0b25zfTwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBUb2FzdDtcbiIsIi8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpblxubW9kdWxlLmV4cG9ydHMgPSB7XCJ0b2FzdFwiOlwiXzNzQnNfRVJYVjNrMFNRTUdVeTJXajRcIixcImVudHJhbmNlXCI6XCJfMV94anRMZVVNb0VYTkEtcU9FWmhjeFwiLFwidG9hc3RDb250ZW50XCI6XCJfMTBsQkVUQ1UzVU5GUjhweTFxMXEtaFwiLFwidG9hc3RJbWFnZVwiOlwiXzNDaTB3cE9iazZvcWY3ZHdrSHNGV29cIixcInRvYXN0QnV0dG9uc1wiOlwiRkVXRG5Ec1AtOUE5SkhHMjBxQlM1XCJ9OyIsImltcG9ydCBSZWFjdCwgeyBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIjtcblxuaW1wb3J0IGNsYXNzY2F0IGZyb20gXCJjbGFzc2NhdFwiO1xuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9Ub2FzdENvbnRhaW5lci5tb2R1bGUuY3NzXCI7XG5cbnR5cGUgVG9hc3RDb250YWluZXJQcm9wcyA9IHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG59XG5mdW5jdGlvbiBUb2FzdENvbnRhaW5lcih7IGNoaWxkcmVuIH06IFRvYXN0Q29udGFpbmVyUHJvcHMpIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e2NsYXNzY2F0KFtzdHlsZXMudG9hc3RDb250YWluZXJdKX1cbiAgICAgIGRhdGEtdGVzdGlkPVwidG9hc3QtY29udGFpbmVyXCJcbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IFRvYXN0Q29udGFpbmVyO1xuIiwiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luXG5tb2R1bGUuZXhwb3J0cyA9IHtcInRvYXN0Q29udGFpbmVyXCI6XCJfM0Y4Y0pVMXdtS21icmppZGctTzN6cFwifTsiLCJleHBvcnQgeyBkZWZhdWx0IGFzIFZpZGVvIH0gZnJvbSBcIi4vVmlkZW9cIjtcbiIsImltcG9ydCBSZWFjdCwgeyBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBjbGFzc2NhdCBmcm9tIFwiY2xhc3NjYXRcIjtcblxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9WaWRlby5tb2R1bGUuY3NzXCI7XG5cbi8qKlxuICogVGhlcmUgaXMgYSBrbm93biBpc3N1ZSBpbiBSZWFjdCBpbiByZWdhcmRzIHRvIHRoZSAnbXV0ZWQnIHByb3BlcnR5IHdoaWNoIGNhdXNlcyB0aGUgd2FybmluZzpcbiAqIFwiV2FybmluZzogdW5zdGFibGVfZmx1c2hEaXNjcmV0ZVVwZGF0ZXM6IENhbm5vdCBmbHVzaCB1cGRhdGVzIHdoZW4gUmVhY3QgaXMgYWxyZWFkeSByZW5kZXJpbmcuXCJcbiAqXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEwMzg5XG4gKiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzY1NDRcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS90ZXN0aW5nLWxpYnJhcnkvcmVhY3QtdGVzdGluZy1saWJyYXJ5L2lzc3Vlcy80NzBcbiAqL1xuXG50eXBlIExheW91dCA9IFwiY292ZXJcIiB8IFwiY29udGFpblwiIHwgXCJzdHJldGNoSG9yaXpvbnRhbGx5XCIgfCBcInN0cmV0Y2hWZXJ0aWNhbGx5XCI7XG5cbnR5cGUgVmlkZW9Qcm9wcyA9IHtcbiAgc3JjOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgbGF5b3V0PzogTGF5b3V0LFxuICBhdXRvUGxheT86IGJvb2xlYW47XG4gIGxvb3A/OiBib29sZWFuO1xuICBtdXRlZD86IGJvb2xlYW47XG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xufTtcblxuZnVuY3Rpb24gVmlkZW8oe1xuICBzcmMsXG4gIHR5cGUsXG4gIGNoaWxkcmVuLFxuICBtdXRlZCA9IHRydWUsXG4gIGxvb3AgPSB0cnVlLFxuICBhdXRvUGxheSA9IHRydWUsXG4gIGxheW91dCA9IFwiY29udGFpblwiXG59OiBWaWRlb1Byb3BzKSB7XG4gIHJldHVybiBjaGlsZHJlbiA/IChcbiAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NjYXQoW3N0eWxlcy5jb250YWluZXIsIHN0eWxlcy5oYXNPdmVybGF5XSl9PlxuICAgICAgPHZpZGVvXG4gICAgICAgIGRhdGEtdGVzdGlkPVwidmlkZW9cIlxuICAgICAgICBjcm9zc09yaWdpbj1cImFub255bW91c1wiXG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NjYXQoW3N0eWxlcy52aWRlbywgc3R5bGVzW2xheW91dF1dKX1cbiAgICAgICAgbXV0ZWQ9e211dGVkfVxuICAgICAgICBsb29wPXtsb29wfVxuICAgICAgICBhdXRvUGxheT17YXV0b1BsYXl9XG4gICAgICAgIHBsYXlzSW5saW5lPXt0cnVlfVxuICAgICAgPlxuICAgICAgICA8c291cmNlIGRhdGEtdGVzdGlkPVwic291cmNlXCIgc3JjPXtzcmN9IHR5cGU9e3R5cGV9IC8+XG4gICAgICA8L3ZpZGVvPlxuICAgICAge2NoaWxkcmVuICYmIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMub3ZlcmxheX0+e2NoaWxkcmVufTwvZGl2Pn1cbiAgICA8L2Rpdj5cbiAgKSA6IChcbiAgICA8dmlkZW9cbiAgICAgIGRhdGEtdGVzdGlkPVwidmlkZW9cIlxuICAgICAgY3Jvc3NPcmlnaW49XCJhbm9ueW1vdXNcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc2NhdChbc3R5bGVzLnZpZGVvLCBzdHlsZXNbbGF5b3V0XV0pfVxuICAgICAgbXV0ZWQ9e211dGVkfVxuICAgICAgbG9vcD17bG9vcH1cbiAgICAgIGF1dG9QbGF5PXthdXRvUGxheX1cbiAgICAgIHBsYXlzSW5saW5lPXt0cnVlfVxuICAgID5cbiAgICAgIDxzb3VyY2UgZGF0YS10ZXN0aWQ9XCJzb3VyY2VcIiBzcmM9e3NyY30gdHlwZT17dHlwZX0gLz5cbiAgICA8L3ZpZGVvPlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBWaWRlbztcbiIsIi8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpblxubW9kdWxlLmV4cG9ydHMgPSB7XCJjb250YWluZXJcIjpcIl8yRVFCZnI1dzhoMXgxYnEtMmZwNndUXCIsXCJoYXNPdmVybGF5XCI6XCJfM0dSTXBtR2tfUHFJVGNVdjBOZm10M1wiLFwidmlkZW9cIjpcIl8ydFpmWGtFaENrd0F6ZmFHX0JWbjBCXCIsXCJjb3ZlclwiOlwiXzNPWUhmYnphTDNRSGFuV1pCajhSeE9cIixcImNvbnRhaW5cIjpcIl8zSV9jN3NoY1NydEdfRnh2dlUySWVFXCIsXCJzdHJldGNoSG9yaXpvbnRhbGx5XCI6XCJfMVo3ZEw5dUVkMEtzeDNDa3JaaHNCOFwiLFwic3RyZXRjaFZlcnRpY2FsbHlcIjpcIl8xemJyRFlPMGZZRkpWYzd4dnNUWWk2XCIsXCJvdmVybGF5XCI6XCJfMm9zWGQ3U2t3RjBMaC0yeWlxdVlRTVwifTsiLCJleHBvcnQgeyBkZWZhdWx0IGFzIHVzZVRvZ2dsZSB9IGZyb20gXCIuL3VzZVRvZ2dsZVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyB1c2VPdXRzaWRlQ2xpY2sgfSBmcm9tIFwiLi91c2VPdXRzaWRlQ2xpY2tcIjtcbiIsImltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VUb2dnbGUoaW5pdGlhbFZhbHVlOiBib29sZWFuID0gZmFsc2UpOiBbYm9vbGVhbiwgKG5ld1ZhbHVlPzogYm9vbGVhbikgPT4gdm9pZF0gIHtcbiAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSB1c2VTdGF0ZTxib29sZWFuPihpbml0aWFsVmFsdWUpO1xuXG4gIGNvbnN0IHRvZ2dsZSA9IChuZXdWYWx1ZT86IGJvb2xlYW4pID0+IHtcbiAgICByZXR1cm4gc2V0VmFsdWUocHJldlZhbHVlID0+IHtcbiAgICAgIHJldHVybiB0eXBlb2YgbmV3VmFsdWUgIT09ICd1bmRlZmluZWQnID8gbmV3VmFsdWUgOiAhcHJldlZhbHVlO1xuICAgIH0pXG4gIH07XG5cbiAgcmV0dXJuIFt2YWx1ZSwgdXNlQ2FsbGJhY2sodG9nZ2xlLCBbXSldO1xufVxuIiwiaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tIFwicmVhY3RcIjtcblxudHlwZSBDYWxsYmFjayA9IChldmVudDogRXZlbnQpID0+IHZvaWQ7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZU91dHNpZGVDbGljayhjYWxsYmFjazogQ2FsbGJhY2spIHtcbiAgY29uc3QgcmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PigpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoZXZlbnQ6IEV2ZW50KSA9PiB7XG4gICAgICBpZiAoIXJlZi5jdXJyZW50IHx8IHJlZi5jdXJyZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBOb2RlKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNhbGxiYWNrKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIGhhbmRsZUNsaWNrKTtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwidG91Y2hzdGFydFwiLCBoYW5kbGVDbGljayk7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIGhhbmRsZUNsaWNrKTtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJ0b3VjaHN0YXJ0XCIsIGhhbmRsZUNsaWNrKTtcbiAgICB9O1xuICB9LCBbY2FsbGJhY2tdKTtcblxuICByZXR1cm4gcmVmO1xufVxuIiwiLyohXG4gKiBob3RrZXlzLWpzIHYzLjguMVxuICogQSBzaW1wbGUgbWljcm8tbGlicmFyeSBmb3IgZGVmaW5pbmcgYW5kIGRpc3BhdGNoaW5nIGtleWJvYXJkIHNob3J0Y3V0cy4gSXQgaGFzIG5vIGRlcGVuZGVuY2llcy5cbiAqIFxuICogQ29weXJpZ2h0IChjKSAyMDIwIGtlbm55IHdvbmcgPHdvd29ob29AcXEuY29tPlxuICogaHR0cDovL2pheXdjamxvdmUuZ2l0aHViLmlvL2hvdGtleXNcbiAqIFxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxuICovXG5cbnZhciBpc2ZmID0gdHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgPyBuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkuaW5kZXhPZignZmlyZWZveCcpID4gMCA6IGZhbHNlOyAvLyDnu5Hlrprkuovku7ZcblxuZnVuY3Rpb24gYWRkRXZlbnQob2JqZWN0LCBldmVudCwgbWV0aG9kKSB7XG4gIGlmIChvYmplY3QuYWRkRXZlbnRMaXN0ZW5lcikge1xuICAgIG9iamVjdC5hZGRFdmVudExpc3RlbmVyKGV2ZW50LCBtZXRob2QsIGZhbHNlKTtcbiAgfSBlbHNlIGlmIChvYmplY3QuYXR0YWNoRXZlbnQpIHtcbiAgICBvYmplY3QuYXR0YWNoRXZlbnQoXCJvblwiLmNvbmNhdChldmVudCksIGZ1bmN0aW9uICgpIHtcbiAgICAgIG1ldGhvZCh3aW5kb3cuZXZlbnQpO1xuICAgIH0pO1xuICB9XG59IC8vIOS/rumlsOmUrui9rOaNouaIkOWvueW6lOeahOmUrueggVxuXG5cbmZ1bmN0aW9uIGdldE1vZHMobW9kaWZpZXIsIGtleSkge1xuICB2YXIgbW9kcyA9IGtleS5zbGljZSgwLCBrZXkubGVuZ3RoIC0gMSk7XG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBtb2RzLmxlbmd0aDsgaSsrKSB7XG4gICAgbW9kc1tpXSA9IG1vZGlmaWVyW21vZHNbaV0udG9Mb3dlckNhc2UoKV07XG4gIH1cblxuICByZXR1cm4gbW9kcztcbn0gLy8g5aSE55CG5Lyg55qEa2V55a2X56ym5Liy6L2s5o2i5oiQ5pWw57uEXG5cblxuZnVuY3Rpb24gZ2V0S2V5cyhrZXkpIHtcbiAgaWYgKHR5cGVvZiBrZXkgIT09ICdzdHJpbmcnKSBrZXkgPSAnJztcbiAga2V5ID0ga2V5LnJlcGxhY2UoL1xccy9nLCAnJyk7IC8vIOWMuemFjeS7u+S9leepuueZveWtl+espizljIXmi6znqbrmoLzjgIHliLbooajnrKbjgIHmjaLpobXnrKbnrYnnrYlcblxuICB2YXIga2V5cyA9IGtleS5zcGxpdCgnLCcpOyAvLyDlkIzml7borr7nva7lpJrkuKrlv6vmjbfplK7vvIzku6UnLCfliIblibJcblxuICB2YXIgaW5kZXggPSBrZXlzLmxhc3RJbmRleE9mKCcnKTsgLy8g5b+r5o236ZSu5Y+v6IO95YyF5ZCrJywn77yM6ZyA54m55q6K5aSE55CGXG5cbiAgZm9yICg7IGluZGV4ID49IDA7KSB7XG4gICAga2V5c1tpbmRleCAtIDFdICs9ICcsJztcbiAgICBrZXlzLnNwbGljZShpbmRleCwgMSk7XG4gICAgaW5kZXggPSBrZXlzLmxhc3RJbmRleE9mKCcnKTtcbiAgfVxuXG4gIHJldHVybiBrZXlzO1xufSAvLyDmr5TovoPkv67ppbDplK7nmoTmlbDnu4RcblxuXG5mdW5jdGlvbiBjb21wYXJlQXJyYXkoYTEsIGEyKSB7XG4gIHZhciBhcnIxID0gYTEubGVuZ3RoID49IGEyLmxlbmd0aCA/IGExIDogYTI7XG4gIHZhciBhcnIyID0gYTEubGVuZ3RoID49IGEyLmxlbmd0aCA/IGEyIDogYTE7XG4gIHZhciBpc0luZGV4ID0gdHJ1ZTtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGFycjEubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoYXJyMi5pbmRleE9mKGFycjFbaV0pID09PSAtMSkgaXNJbmRleCA9IGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIGlzSW5kZXg7XG59XG5cbnZhciBfa2V5TWFwID0ge1xuICBiYWNrc3BhY2U6IDgsXG4gIHRhYjogOSxcbiAgY2xlYXI6IDEyLFxuICBlbnRlcjogMTMsXG4gIHJldHVybjogMTMsXG4gIGVzYzogMjcsXG4gIGVzY2FwZTogMjcsXG4gIHNwYWNlOiAzMixcbiAgbGVmdDogMzcsXG4gIHVwOiAzOCxcbiAgcmlnaHQ6IDM5LFxuICBkb3duOiA0MCxcbiAgZGVsOiA0NixcbiAgZGVsZXRlOiA0NixcbiAgaW5zOiA0NSxcbiAgaW5zZXJ0OiA0NSxcbiAgaG9tZTogMzYsXG4gIGVuZDogMzUsXG4gIHBhZ2V1cDogMzMsXG4gIHBhZ2Vkb3duOiAzNCxcbiAgY2Fwc2xvY2s6IDIwLFxuICAn4oeqJzogMjAsXG4gICcsJzogMTg4LFxuICAnLic6IDE5MCxcbiAgJy8nOiAxOTEsXG4gICdgJzogMTkyLFxuICAnLSc6IGlzZmYgPyAxNzMgOiAxODksXG4gICc9JzogaXNmZiA/IDYxIDogMTg3LFxuICAnOyc6IGlzZmYgPyA1OSA6IDE4NixcbiAgJ1xcJyc6IDIyMixcbiAgJ1snOiAyMTksXG4gICddJzogMjIxLFxuICAnXFxcXCc6IDIyMFxufTsgLy8gTW9kaWZpZXIgS2V5c1xuXG52YXIgX21vZGlmaWVyID0ge1xuICAvLyBzaGlmdEtleVxuICAn4oenJzogMTYsXG4gIHNoaWZ0OiAxNixcbiAgLy8gYWx0S2V5XG4gICfijKUnOiAxOCxcbiAgYWx0OiAxOCxcbiAgb3B0aW9uOiAxOCxcbiAgLy8gY3RybEtleVxuICAn4oyDJzogMTcsXG4gIGN0cmw6IDE3LFxuICBjb250cm9sOiAxNyxcbiAgLy8gbWV0YUtleVxuICAn4oyYJzogOTEsXG4gIGNtZDogOTEsXG4gIGNvbW1hbmQ6IDkxXG59O1xudmFyIG1vZGlmaWVyTWFwID0ge1xuICAxNjogJ3NoaWZ0S2V5JyxcbiAgMTg6ICdhbHRLZXknLFxuICAxNzogJ2N0cmxLZXknLFxuICA5MTogJ21ldGFLZXknLFxuICBzaGlmdEtleTogMTYsXG4gIGN0cmxLZXk6IDE3LFxuICBhbHRLZXk6IDE4LFxuICBtZXRhS2V5OiA5MVxufTtcbnZhciBfbW9kcyA9IHtcbiAgMTY6IGZhbHNlLFxuICAxODogZmFsc2UsXG4gIDE3OiBmYWxzZSxcbiAgOTE6IGZhbHNlXG59O1xudmFyIF9oYW5kbGVycyA9IHt9OyAvLyBGMX5GMTIgc3BlY2lhbCBrZXlcblxuZm9yICh2YXIgayA9IDE7IGsgPCAyMDsgaysrKSB7XG4gIF9rZXlNYXBbXCJmXCIuY29uY2F0KGspXSA9IDExMSArIGs7XG59XG5cbnZhciBfZG93bktleXMgPSBbXTsgLy8g6K6w5b2V5pGB5LiL55qE57uR5a6a6ZSuXG5cbnZhciBfc2NvcGUgPSAnYWxsJzsgLy8g6buY6K6k54Ot6ZSu6IyD5Zu0XG5cbnZhciBlbGVtZW50SGFzQmluZEV2ZW50ID0gW107IC8vIOW3sue7keWumuS6i+S7tueahOiKgueCueiusOW9lVxuLy8g6L+U5Zue6ZSu56CBXG5cbnZhciBjb2RlID0gZnVuY3Rpb24gY29kZSh4KSB7XG4gIHJldHVybiBfa2V5TWFwW3gudG9Mb3dlckNhc2UoKV0gfHwgX21vZGlmaWVyW3gudG9Mb3dlckNhc2UoKV0gfHwgeC50b1VwcGVyQ2FzZSgpLmNoYXJDb2RlQXQoMCk7XG59OyAvLyDorr7nva7ojrflj5blvZPliY3ojIPlm7TvvIjpu5jorqTkuLon5omA5pyJJ++8iVxuXG5cbmZ1bmN0aW9uIHNldFNjb3BlKHNjb3BlKSB7XG4gIF9zY29wZSA9IHNjb3BlIHx8ICdhbGwnO1xufSAvLyDojrflj5blvZPliY3ojIPlm7RcblxuXG5mdW5jdGlvbiBnZXRTY29wZSgpIHtcbiAgcmV0dXJuIF9zY29wZSB8fCAnYWxsJztcbn0gLy8g6I635Y+W5pGB5LiL57uR5a6a6ZSu55qE6ZSu5YC8XG5cblxuZnVuY3Rpb24gZ2V0UHJlc3NlZEtleUNvZGVzKCkge1xuICByZXR1cm4gX2Rvd25LZXlzLnNsaWNlKDApO1xufSAvLyDooajljZXmjqfku7bmjqfku7bliKTmlq0g6L+U5ZueIEJvb2xlYW5cbi8vIGhvdGtleSBpcyBlZmZlY3RpdmUgb25seSB3aGVuIGZpbHRlciByZXR1cm4gdHJ1ZVxuXG5cbmZ1bmN0aW9uIGZpbHRlcihldmVudCkge1xuICB2YXIgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IHx8IGV2ZW50LnNyY0VsZW1lbnQ7XG4gIHZhciB0YWdOYW1lID0gdGFyZ2V0LnRhZ05hbWU7XG4gIHZhciBmbGFnID0gdHJ1ZTsgLy8gaWdub3JlOiBpc0NvbnRlbnRFZGl0YWJsZSA9PT0gJ3RydWUnLCA8aW5wdXQ+IGFuZCA8dGV4dGFyZWE+IHdoZW4gcmVhZE9ubHkgc3RhdGUgaXMgZmFsc2UsIDxzZWxlY3Q+XG5cbiAgaWYgKHRhcmdldC5pc0NvbnRlbnRFZGl0YWJsZSB8fCAodGFnTmFtZSA9PT0gJ0lOUFVUJyB8fCB0YWdOYW1lID09PSAnVEVYVEFSRUEnIHx8IHRhZ05hbWUgPT09ICdTRUxFQ1QnKSAmJiAhdGFyZ2V0LnJlYWRPbmx5KSB7XG4gICAgZmxhZyA9IGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIGZsYWc7XG59IC8vIOWIpOaWreaRgeS4i+eahOmUruaYr+WQpuS4uuafkOS4qumUru+8jOi/lOWbnnRydWXmiJbogIVmYWxzZVxuXG5cbmZ1bmN0aW9uIGlzUHJlc3NlZChrZXlDb2RlKSB7XG4gIGlmICh0eXBlb2Yga2V5Q29kZSA9PT0gJ3N0cmluZycpIHtcbiAgICBrZXlDb2RlID0gY29kZShrZXlDb2RlKTsgLy8g6L2s5o2i5oiQ6ZSu56CBXG4gIH1cblxuICByZXR1cm4gX2Rvd25LZXlzLmluZGV4T2Yoa2V5Q29kZSkgIT09IC0xO1xufSAvLyDlvqrnjq/liKDpmaRoYW5kbGVyc+S4reeahOaJgOaciSBzY29wZSjojIPlm7QpXG5cblxuZnVuY3Rpb24gZGVsZXRlU2NvcGUoc2NvcGUsIG5ld1Njb3BlKSB7XG4gIHZhciBoYW5kbGVycztcbiAgdmFyIGk7IC8vIOayoeacieaMh+WumnNjb3Bl77yM6I635Y+Wc2NvcGVcblxuICBpZiAoIXNjb3BlKSBzY29wZSA9IGdldFNjb3BlKCk7XG5cbiAgZm9yICh2YXIga2V5IGluIF9oYW5kbGVycykge1xuICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoX2hhbmRsZXJzLCBrZXkpKSB7XG4gICAgICBoYW5kbGVycyA9IF9oYW5kbGVyc1trZXldO1xuXG4gICAgICBmb3IgKGkgPSAwOyBpIDwgaGFuZGxlcnMubGVuZ3RoOykge1xuICAgICAgICBpZiAoaGFuZGxlcnNbaV0uc2NvcGUgPT09IHNjb3BlKSBoYW5kbGVycy5zcGxpY2UoaSwgMSk7ZWxzZSBpKys7XG4gICAgICB9XG4gICAgfVxuICB9IC8vIOWmguaenHNjb3Bl6KKr5Yig6Zmk77yM5bCGc2NvcGXph43nva7kuLphbGxcblxuXG4gIGlmIChnZXRTY29wZSgpID09PSBzY29wZSkgc2V0U2NvcGUobmV3U2NvcGUgfHwgJ2FsbCcpO1xufSAvLyDmuIXpmaTkv67ppbDplK5cblxuXG5mdW5jdGlvbiBjbGVhck1vZGlmaWVyKGV2ZW50KSB7XG4gIHZhciBrZXkgPSBldmVudC5rZXlDb2RlIHx8IGV2ZW50LndoaWNoIHx8IGV2ZW50LmNoYXJDb2RlO1xuXG4gIHZhciBpID0gX2Rvd25LZXlzLmluZGV4T2Yoa2V5KTsgLy8g5LuO5YiX6KGo5Lit5riF6Zmk5oyJ5Y6L6L+H55qE6ZSuXG5cblxuICBpZiAoaSA+PSAwKSB7XG4gICAgX2Rvd25LZXlzLnNwbGljZShpLCAxKTtcbiAgfSAvLyDnibnmrorlpITnkIYgY21tYW5kIOmUru+8jOWcqCBjbW1hbmQg57uE5ZCI5b+r5o236ZSuIGtleXVwIOWPquaJp+ihjOS4gOasoeeahOmXrumimFxuXG5cbiAgaWYgKGV2ZW50LmtleSAmJiBldmVudC5rZXkudG9Mb3dlckNhc2UoKSA9PT0gJ21ldGEnKSB7XG4gICAgX2Rvd25LZXlzLnNwbGljZSgwLCBfZG93bktleXMubGVuZ3RoKTtcbiAgfSAvLyDkv67ppbDplK4gc2hpZnRLZXkgYWx0S2V5IGN0cmxLZXkgKGNvbW1hbmR8fG1ldGFLZXkpIOa4hemZpFxuXG5cbiAgaWYgKGtleSA9PT0gOTMgfHwga2V5ID09PSAyMjQpIGtleSA9IDkxO1xuXG4gIGlmIChrZXkgaW4gX21vZHMpIHtcbiAgICBfbW9kc1trZXldID0gZmFsc2U7IC8vIOWwhuS/rumlsOmUrumHjee9ruS4umZhbHNlXG5cbiAgICBmb3IgKHZhciBrIGluIF9tb2RpZmllcikge1xuICAgICAgaWYgKF9tb2RpZmllcltrXSA9PT0ga2V5KSBob3RrZXlzW2tdID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHVuYmluZChrZXlzSW5mbykge1xuICAvLyB1bmJpbmQoKSwgdW5iaW5kIGFsbCBrZXlzXG4gIGlmICgha2V5c0luZm8pIHtcbiAgICBPYmplY3Qua2V5cyhfaGFuZGxlcnMpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICAgICAgcmV0dXJuIGRlbGV0ZSBfaGFuZGxlcnNba2V5XTtcbiAgICB9KTtcbiAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGtleXNJbmZvKSkge1xuICAgIC8vIHN1cHBvcnQgbGlrZSA6IHVuYmluZChbe2tleTogJ2N0cmwrYScsIHNjb3BlOiAnczEnfSwge2tleTogJ2N0cmwtYScsIHNjb3BlOiAnczInLCBzcGxpdEtleTogJy0nfV0pXG4gICAga2V5c0luZm8uZm9yRWFjaChmdW5jdGlvbiAoaW5mbykge1xuICAgICAgaWYgKGluZm8ua2V5KSBlYWNoVW5iaW5kKGluZm8pO1xuICAgIH0pO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBrZXlzSW5mbyA9PT0gJ29iamVjdCcpIHtcbiAgICAvLyBzdXBwb3J0IGxpa2UgdW5iaW5kKHtrZXk6ICdjdHJsK2EsIGN0cmwrYicsIHNjb3BlOidhYmMnfSlcbiAgICBpZiAoa2V5c0luZm8ua2V5KSBlYWNoVW5iaW5kKGtleXNJbmZvKTtcbiAgfSBlbHNlIGlmICh0eXBlb2Yga2V5c0luZm8gPT09ICdzdHJpbmcnKSB7XG4gICAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiA+IDEgPyBfbGVuIC0gMSA6IDApLCBfa2V5ID0gMTsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgICAgYXJnc1tfa2V5IC0gMV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgfVxuXG4gICAgLy8gc3VwcG9ydCBvbGQgbWV0aG9kXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuICAgIHZhciBzY29wZSA9IGFyZ3NbMF0sXG4gICAgICAgIG1ldGhvZCA9IGFyZ3NbMV07XG5cbiAgICBpZiAodHlwZW9mIHNjb3BlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBtZXRob2QgPSBzY29wZTtcbiAgICAgIHNjb3BlID0gJyc7XG4gICAgfVxuXG4gICAgZWFjaFVuYmluZCh7XG4gICAgICBrZXk6IGtleXNJbmZvLFxuICAgICAgc2NvcGU6IHNjb3BlLFxuICAgICAgbWV0aG9kOiBtZXRob2QsXG4gICAgICBzcGxpdEtleTogJysnXG4gICAgfSk7XG4gIH1cbn0gLy8g6Kej6Zmk57uR5a6a5p+Q5Liq6IyD5Zu055qE5b+r5o236ZSuXG5cblxudmFyIGVhY2hVbmJpbmQgPSBmdW5jdGlvbiBlYWNoVW5iaW5kKF9yZWYpIHtcbiAgdmFyIGtleSA9IF9yZWYua2V5LFxuICAgICAgc2NvcGUgPSBfcmVmLnNjb3BlLFxuICAgICAgbWV0aG9kID0gX3JlZi5tZXRob2QsXG4gICAgICBfcmVmJHNwbGl0S2V5ID0gX3JlZi5zcGxpdEtleSxcbiAgICAgIHNwbGl0S2V5ID0gX3JlZiRzcGxpdEtleSA9PT0gdm9pZCAwID8gJysnIDogX3JlZiRzcGxpdEtleTtcbiAgdmFyIG11bHRpcGxlS2V5cyA9IGdldEtleXMoa2V5KTtcbiAgbXVsdGlwbGVLZXlzLmZvckVhY2goZnVuY3Rpb24gKG9yaWdpbktleSkge1xuICAgIHZhciB1bmJpbmRLZXlzID0gb3JpZ2luS2V5LnNwbGl0KHNwbGl0S2V5KTtcbiAgICB2YXIgbGVuID0gdW5iaW5kS2V5cy5sZW5ndGg7XG4gICAgdmFyIGxhc3RLZXkgPSB1bmJpbmRLZXlzW2xlbiAtIDFdO1xuICAgIHZhciBrZXlDb2RlID0gbGFzdEtleSA9PT0gJyonID8gJyonIDogY29kZShsYXN0S2V5KTtcbiAgICBpZiAoIV9oYW5kbGVyc1trZXlDb2RlXSkgcmV0dXJuOyAvLyDliKTmlq3mmK/lkKbkvKDlhaXojIPlm7TvvIzmsqHmnInlsLHojrflj5bojIPlm7RcblxuICAgIGlmICghc2NvcGUpIHNjb3BlID0gZ2V0U2NvcGUoKTtcbiAgICB2YXIgbW9kcyA9IGxlbiA+IDEgPyBnZXRNb2RzKF9tb2RpZmllciwgdW5iaW5kS2V5cykgOiBbXTtcbiAgICBfaGFuZGxlcnNba2V5Q29kZV0gPSBfaGFuZGxlcnNba2V5Q29kZV0ubWFwKGZ1bmN0aW9uIChyZWNvcmQpIHtcbiAgICAgIC8vIOmAmui/h+WHveaVsOWIpOaWre+8jOaYr+WQpuino+mZpOe7keWumu+8jOWHveaVsOebuOetieebtOaOpei/lOWbnlxuICAgICAgdmFyIGlzTWF0Y2hpbmdNZXRob2QgPSBtZXRob2QgPyByZWNvcmQubWV0aG9kID09PSBtZXRob2QgOiB0cnVlO1xuXG4gICAgICBpZiAoaXNNYXRjaGluZ01ldGhvZCAmJiByZWNvcmQuc2NvcGUgPT09IHNjb3BlICYmIGNvbXBhcmVBcnJheShyZWNvcmQubW9kcywgbW9kcykpIHtcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVjb3JkO1xuICAgIH0pO1xuICB9KTtcbn07IC8vIOWvueebkeWQrOWvueW6lOW/q+aNt+mUrueahOWbnuiwg+WHveaVsOi/m+ihjOWkhOeQhlxuXG5cbmZ1bmN0aW9uIGV2ZW50SGFuZGxlcihldmVudCwgaGFuZGxlciwgc2NvcGUpIHtcbiAgdmFyIG1vZGlmaWVyc01hdGNoOyAvLyDnnIvlroPmmK/lkKblnKjlvZPliY3ojIPlm7RcblxuICBpZiAoaGFuZGxlci5zY29wZSA9PT0gc2NvcGUgfHwgaGFuZGxlci5zY29wZSA9PT0gJ2FsbCcpIHtcbiAgICAvLyDmo4Dmn6XmmK/lkKbljLnphY3kv67ppbDnrKbvvIjlpoLmnpzmnInov5Tlm550cnVl77yJXG4gICAgbW9kaWZpZXJzTWF0Y2ggPSBoYW5kbGVyLm1vZHMubGVuZ3RoID4gMDtcblxuICAgIGZvciAodmFyIHkgaW4gX21vZHMpIHtcbiAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoX21vZHMsIHkpKSB7XG4gICAgICAgIGlmICghX21vZHNbeV0gJiYgaGFuZGxlci5tb2RzLmluZGV4T2YoK3kpID4gLTEgfHwgX21vZHNbeV0gJiYgaGFuZGxlci5tb2RzLmluZGV4T2YoK3kpID09PSAtMSkge1xuICAgICAgICAgIG1vZGlmaWVyc01hdGNoID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IC8vIOiwg+eUqOWkhOeQhueoi+W6j++8jOWmguaenOaYr+S/rumlsOmUruS4jeWBmuWkhOeQhlxuXG5cbiAgICBpZiAoaGFuZGxlci5tb2RzLmxlbmd0aCA9PT0gMCAmJiAhX21vZHNbMTZdICYmICFfbW9kc1sxOF0gJiYgIV9tb2RzWzE3XSAmJiAhX21vZHNbOTFdIHx8IG1vZGlmaWVyc01hdGNoIHx8IGhhbmRsZXIuc2hvcnRjdXQgPT09ICcqJykge1xuICAgICAgaWYgKGhhbmRsZXIubWV0aG9kKGV2ZW50LCBoYW5kbGVyKSA9PT0gZmFsc2UpIHtcbiAgICAgICAgaWYgKGV2ZW50LnByZXZlbnREZWZhdWx0KSBldmVudC5wcmV2ZW50RGVmYXVsdCgpO2Vsc2UgZXZlbnQucmV0dXJuVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgaWYgKGV2ZW50LnN0b3BQcm9wYWdhdGlvbikgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGlmIChldmVudC5jYW5jZWxCdWJibGUpIGV2ZW50LmNhbmNlbEJ1YmJsZSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG59IC8vIOWkhOeQhmtleWRvd27kuovku7ZcblxuXG5mdW5jdGlvbiBkaXNwYXRjaChldmVudCkge1xuICB2YXIgYXN0ZXJpc2sgPSBfaGFuZGxlcnNbJyonXTtcbiAgdmFyIGtleSA9IGV2ZW50LmtleUNvZGUgfHwgZXZlbnQud2hpY2ggfHwgZXZlbnQuY2hhckNvZGU7IC8vIOihqOWNleaOp+S7tui/h+a7pCDpu5jorqTooajljZXmjqfku7bkuI3op6blj5Hlv6vmjbfplK5cblxuICBpZiAoIWhvdGtleXMuZmlsdGVyLmNhbGwodGhpcywgZXZlbnQpKSByZXR1cm47IC8vIEdlY2tvKEZpcmVmb3gp55qEY29tbWFuZOmUruWAvDIyNO+8jOWcqFdlYmtpdChDaHJvbWUp5Lit5L+d5oyB5LiA6Ie0XG4gIC8vIFdlYmtpdOW3puWPsyBjb21tYW5kIOmUruWAvOS4jeS4gOagt1xuXG4gIGlmIChrZXkgPT09IDkzIHx8IGtleSA9PT0gMjI0KSBrZXkgPSA5MTtcbiAgLyoqXG4gICAqIENvbGxlY3QgYm91bmQga2V5c1xuICAgKiBJZiBhbiBJbnB1dCBNZXRob2QgRWRpdG9yIGlzIHByb2Nlc3Npbmcga2V5IGlucHV0IGFuZCB0aGUgZXZlbnQgaXMga2V5ZG93biwgcmV0dXJuIDIyOS5cbiAgICogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMjUwNDM5MzQvaXMtaXQtb2stdG8taWdub3JlLWtleWRvd24tZXZlbnRzLXdpdGgta2V5Y29kZS0yMjlcbiAgICogaHR0cDovL2xpc3RzLnczLm9yZy9BcmNoaXZlcy9QdWJsaWMvd3d3LWRvbS8yMDEwSnVsU2VwL2F0dC0wMTgyL2tleUNvZGUtc3BlYy5odG1sXG4gICAqL1xuXG4gIGlmIChfZG93bktleXMuaW5kZXhPZihrZXkpID09PSAtMSAmJiBrZXkgIT09IDIyOSkgX2Rvd25LZXlzLnB1c2goa2V5KTtcbiAgLyoqXG4gICAqIEplc3QgdGVzdCBjYXNlcyBhcmUgcmVxdWlyZWQuXG4gICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICovXG5cbiAgWydjdHJsS2V5JywgJ2FsdEtleScsICdzaGlmdEtleScsICdtZXRhS2V5J10uZm9yRWFjaChmdW5jdGlvbiAoa2V5TmFtZSkge1xuICAgIHZhciBrZXlOdW0gPSBtb2RpZmllck1hcFtrZXlOYW1lXTtcblxuICAgIGlmIChldmVudFtrZXlOYW1lXSAmJiBfZG93bktleXMuaW5kZXhPZihrZXlOdW0pID09PSAtMSkge1xuICAgICAgX2Rvd25LZXlzLnB1c2goa2V5TnVtKTtcbiAgICB9IGVsc2UgaWYgKCFldmVudFtrZXlOYW1lXSAmJiBfZG93bktleXMuaW5kZXhPZihrZXlOdW0pID4gLTEpIHtcbiAgICAgIF9kb3duS2V5cy5zcGxpY2UoX2Rvd25LZXlzLmluZGV4T2Yoa2V5TnVtKSwgMSk7XG4gICAgfSBlbHNlIGlmIChrZXlOYW1lID09PSAnbWV0YUtleScgJiYgZXZlbnRba2V5TmFtZV0gJiYgX2Rvd25LZXlzLmxlbmd0aCA9PT0gMykge1xuICAgICAgLyoqXG4gICAgICAgKiBGaXggaWYgQ29tbWFuZCBpcyBwcmVzc2VkOlxuICAgICAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgICovXG4gICAgICBpZiAoIShldmVudC5jdHJsS2V5IHx8IGV2ZW50LnNoaWZ0S2V5IHx8IGV2ZW50LmFsdEtleSkpIHtcbiAgICAgICAgX2Rvd25LZXlzID0gX2Rvd25LZXlzLnNsaWNlKF9kb3duS2V5cy5pbmRleE9mKGtleU51bSkpO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG4gIC8qKlxuICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqL1xuXG4gIGlmIChrZXkgaW4gX21vZHMpIHtcbiAgICBfbW9kc1trZXldID0gdHJ1ZTsgLy8g5bCG54m55q6K5a2X56ym55qEa2V55rOo5YaM5YiwIGhvdGtleXMg5LiKXG5cbiAgICBmb3IgKHZhciBrIGluIF9tb2RpZmllcikge1xuICAgICAgaWYgKF9tb2RpZmllcltrXSA9PT0ga2V5KSBob3RrZXlzW2tdID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoIWFzdGVyaXNrKSByZXR1cm47XG4gIH0gLy8g5bCGIG1vZGlmaWVyTWFwIOmHjOmdoueahOS/rumlsOmUrue7keWumuWIsCBldmVudCDkuK1cblxuXG4gIGZvciAodmFyIGUgaW4gX21vZHMpIHtcbiAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKF9tb2RzLCBlKSkge1xuICAgICAgX21vZHNbZV0gPSBldmVudFttb2RpZmllck1hcFtlXV07XG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiBodHRwczovL2dpdGh1Yi5jb20vamF5d2NqbG92ZS9ob3RrZXlzL3B1bGwvMTI5XG4gICAqIFRoaXMgc29sdmVzIHRoZSBpc3N1ZSBpbiBGaXJlZm94IG9uIFdpbmRvd3Mgd2hlcmUgaG90a2V5cyBjb3JyZXNwb25kaW5nIHRvIHNwZWNpYWwgY2hhcmFjdGVycyB3b3VsZCBub3QgdHJpZ2dlci5cbiAgICogQW4gZXhhbXBsZSBvZiB0aGlzIGlzIGN0cmwrYWx0K20gb24gYSBTd2VkaXNoIGtleWJvYXJkIHdoaWNoIGlzIHVzZWQgdG8gdHlwZSDOvC5cbiAgICogQnJvd3NlciBzdXBwb3J0OiBodHRwczovL2Nhbml1c2UuY29tLyNmZWF0PWtleWJvYXJkZXZlbnQtZ2V0bW9kaWZpZXJzdGF0ZVxuICAgKi9cblxuXG4gIGlmIChldmVudC5nZXRNb2RpZmllclN0YXRlICYmICEoZXZlbnQuYWx0S2V5ICYmICFldmVudC5jdHJsS2V5KSAmJiBldmVudC5nZXRNb2RpZmllclN0YXRlKCdBbHRHcmFwaCcpKSB7XG4gICAgaWYgKF9kb3duS2V5cy5pbmRleE9mKDE3KSA9PT0gLTEpIHtcbiAgICAgIF9kb3duS2V5cy5wdXNoKDE3KTtcbiAgICB9XG5cbiAgICBpZiAoX2Rvd25LZXlzLmluZGV4T2YoMTgpID09PSAtMSkge1xuICAgICAgX2Rvd25LZXlzLnB1c2goMTgpO1xuICAgIH1cblxuICAgIF9tb2RzWzE3XSA9IHRydWU7XG4gICAgX21vZHNbMThdID0gdHJ1ZTtcbiAgfSAvLyDojrflj5bojIPlm7Qg6buY6K6k5Li6IGBhbGxgXG5cblxuICB2YXIgc2NvcGUgPSBnZXRTY29wZSgpOyAvLyDlr7nku7vkvZXlv6vmjbfplK7pg73pnIDopoHlgZrnmoTlpITnkIZcblxuICBpZiAoYXN0ZXJpc2spIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFzdGVyaXNrLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAoYXN0ZXJpc2tbaV0uc2NvcGUgPT09IHNjb3BlICYmIChldmVudC50eXBlID09PSAna2V5ZG93bicgJiYgYXN0ZXJpc2tbaV0ua2V5ZG93biB8fCBldmVudC50eXBlID09PSAna2V5dXAnICYmIGFzdGVyaXNrW2ldLmtleXVwKSkge1xuICAgICAgICBldmVudEhhbmRsZXIoZXZlbnQsIGFzdGVyaXNrW2ldLCBzY29wZSk7XG4gICAgICB9XG4gICAgfVxuICB9IC8vIGtleSDkuI3lnKggX2hhbmRsZXJzIOS4rei/lOWbnlxuXG5cbiAgaWYgKCEoa2V5IGluIF9oYW5kbGVycykpIHJldHVybjtcblxuICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgX2hhbmRsZXJzW2tleV0ubGVuZ3RoOyBfaSsrKSB7XG4gICAgaWYgKGV2ZW50LnR5cGUgPT09ICdrZXlkb3duJyAmJiBfaGFuZGxlcnNba2V5XVtfaV0ua2V5ZG93biB8fCBldmVudC50eXBlID09PSAna2V5dXAnICYmIF9oYW5kbGVyc1trZXldW19pXS5rZXl1cCkge1xuICAgICAgaWYgKF9oYW5kbGVyc1trZXldW19pXS5rZXkpIHtcbiAgICAgICAgdmFyIHJlY29yZCA9IF9oYW5kbGVyc1trZXldW19pXTtcbiAgICAgICAgdmFyIHNwbGl0S2V5ID0gcmVjb3JkLnNwbGl0S2V5O1xuICAgICAgICB2YXIga2V5U2hvcnRjdXQgPSByZWNvcmQua2V5LnNwbGl0KHNwbGl0S2V5KTtcbiAgICAgICAgdmFyIF9kb3duS2V5c0N1cnJlbnQgPSBbXTsgLy8g6K6w5b2V5b2T5YmN5oyJ6ZSu6ZSu5YC8XG5cbiAgICAgICAgZm9yICh2YXIgYSA9IDA7IGEgPCBrZXlTaG9ydGN1dC5sZW5ndGg7IGErKykge1xuICAgICAgICAgIF9kb3duS2V5c0N1cnJlbnQucHVzaChjb2RlKGtleVNob3J0Y3V0W2FdKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoX2Rvd25LZXlzQ3VycmVudC5zb3J0KCkuam9pbignJykgPT09IF9kb3duS2V5cy5zb3J0KCkuam9pbignJykpIHtcbiAgICAgICAgICAvLyDmib7liLDlpITnkIblhoXlrrlcbiAgICAgICAgICBldmVudEhhbmRsZXIoZXZlbnQsIHJlY29yZCwgc2NvcGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IC8vIOWIpOaWrSBlbGVtZW50IOaYr+WQpuW3sue7j+e7keWumuS6i+S7tlxuXG5cbmZ1bmN0aW9uIGlzRWxlbWVudEJpbmQoZWxlbWVudCkge1xuICByZXR1cm4gZWxlbWVudEhhc0JpbmRFdmVudC5pbmRleE9mKGVsZW1lbnQpID4gLTE7XG59XG5cbmZ1bmN0aW9uIGhvdGtleXMoa2V5LCBvcHRpb24sIG1ldGhvZCkge1xuICBfZG93bktleXMgPSBbXTtcbiAgdmFyIGtleXMgPSBnZXRLZXlzKGtleSk7IC8vIOmcgOimgeWkhOeQhueahOW/q+aNt+mUruWIl+ihqFxuXG4gIHZhciBtb2RzID0gW107XG4gIHZhciBzY29wZSA9ICdhbGwnOyAvLyBzY29wZem7mOiupOS4umFsbO+8jOaJgOacieiMg+WbtOmDveacieaViFxuXG4gIHZhciBlbGVtZW50ID0gZG9jdW1lbnQ7IC8vIOW/q+aNt+mUruS6i+S7tue7keWumuiKgueCuVxuXG4gIHZhciBpID0gMDtcbiAgdmFyIGtleXVwID0gZmFsc2U7XG4gIHZhciBrZXlkb3duID0gdHJ1ZTtcbiAgdmFyIHNwbGl0S2V5ID0gJysnOyAvLyDlr7nkuLrorr7lrprojIPlm7TnmoTliKTmlq1cblxuICBpZiAobWV0aG9kID09PSB1bmRlZmluZWQgJiYgdHlwZW9mIG9wdGlvbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIG1ldGhvZCA9IG9wdGlvbjtcbiAgfVxuXG4gIGlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob3B0aW9uKSA9PT0gJ1tvYmplY3QgT2JqZWN0XScpIHtcbiAgICBpZiAob3B0aW9uLnNjb3BlKSBzY29wZSA9IG9wdGlvbi5zY29wZTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXG4gICAgaWYgKG9wdGlvbi5lbGVtZW50KSBlbGVtZW50ID0gb3B0aW9uLmVsZW1lbnQ7IC8vIGVzbGludC1kaXNhYmxlLWxpbmVcblxuICAgIGlmIChvcHRpb24ua2V5dXApIGtleXVwID0gb3B0aW9uLmtleXVwOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lXG5cbiAgICBpZiAob3B0aW9uLmtleWRvd24gIT09IHVuZGVmaW5lZCkga2V5ZG93biA9IG9wdGlvbi5rZXlkb3duOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lXG5cbiAgICBpZiAodHlwZW9mIG9wdGlvbi5zcGxpdEtleSA9PT0gJ3N0cmluZycpIHNwbGl0S2V5ID0gb3B0aW9uLnNwbGl0S2V5OyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lXG4gIH1cblxuICBpZiAodHlwZW9mIG9wdGlvbiA9PT0gJ3N0cmluZycpIHNjb3BlID0gb3B0aW9uOyAvLyDlr7nkuo7mr4/kuKrlv6vmjbfplK7ov5vooYzlpITnkIZcblxuICBmb3IgKDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHtcbiAgICBrZXkgPSBrZXlzW2ldLnNwbGl0KHNwbGl0S2V5KTsgLy8g5oyJ6ZSu5YiX6KGoXG5cbiAgICBtb2RzID0gW107IC8vIOWmguaenOaYr+e7hOWQiOW/q+aNt+mUruWPluW+l+e7hOWQiOW/q+aNt+mUrlxuXG4gICAgaWYgKGtleS5sZW5ndGggPiAxKSBtb2RzID0gZ2V0TW9kcyhfbW9kaWZpZXIsIGtleSk7IC8vIOWwhumdnuS/rumlsOmUrui9rOWMluS4uumUrueggVxuXG4gICAga2V5ID0ga2V5W2tleS5sZW5ndGggLSAxXTtcbiAgICBrZXkgPSBrZXkgPT09ICcqJyA/ICcqJyA6IGNvZGUoa2V5KTsgLy8gKuihqOekuuWMuemFjeaJgOacieW/q+aNt+mUrlxuICAgIC8vIOWIpOaWrWtleeaYr+WQpuWcqF9oYW5kbGVyc+S4re+8jOS4jeWcqOWwsei1i+S4gOS4quepuuaVsOe7hFxuXG4gICAgaWYgKCEoa2V5IGluIF9oYW5kbGVycykpIF9oYW5kbGVyc1trZXldID0gW107XG5cbiAgICBfaGFuZGxlcnNba2V5XS5wdXNoKHtcbiAgICAgIGtleXVwOiBrZXl1cCxcbiAgICAgIGtleWRvd246IGtleWRvd24sXG4gICAgICBzY29wZTogc2NvcGUsXG4gICAgICBtb2RzOiBtb2RzLFxuICAgICAgc2hvcnRjdXQ6IGtleXNbaV0sXG4gICAgICBtZXRob2Q6IG1ldGhvZCxcbiAgICAgIGtleToga2V5c1tpXSxcbiAgICAgIHNwbGl0S2V5OiBzcGxpdEtleVxuICAgIH0pO1xuICB9IC8vIOWcqOWFqOWxgGRvY3VtZW505LiK6K6+572u5b+r5o236ZSuXG5cblxuICBpZiAodHlwZW9mIGVsZW1lbnQgIT09ICd1bmRlZmluZWQnICYmICFpc0VsZW1lbnRCaW5kKGVsZW1lbnQpICYmIHdpbmRvdykge1xuICAgIGVsZW1lbnRIYXNCaW5kRXZlbnQucHVzaChlbGVtZW50KTtcbiAgICBhZGRFdmVudChlbGVtZW50LCAna2V5ZG93bicsIGZ1bmN0aW9uIChlKSB7XG4gICAgICBkaXNwYXRjaChlKTtcbiAgICB9KTtcbiAgICBhZGRFdmVudCh3aW5kb3csICdmb2N1cycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIF9kb3duS2V5cyA9IFtdO1xuICAgIH0pO1xuICAgIGFkZEV2ZW50KGVsZW1lbnQsICdrZXl1cCcsIGZ1bmN0aW9uIChlKSB7XG4gICAgICBkaXNwYXRjaChlKTtcbiAgICAgIGNsZWFyTW9kaWZpZXIoZSk7XG4gICAgfSk7XG4gIH1cbn1cblxudmFyIF9hcGkgPSB7XG4gIHNldFNjb3BlOiBzZXRTY29wZSxcbiAgZ2V0U2NvcGU6IGdldFNjb3BlLFxuICBkZWxldGVTY29wZTogZGVsZXRlU2NvcGUsXG4gIGdldFByZXNzZWRLZXlDb2RlczogZ2V0UHJlc3NlZEtleUNvZGVzLFxuICBpc1ByZXNzZWQ6IGlzUHJlc3NlZCxcbiAgZmlsdGVyOiBmaWx0ZXIsXG4gIHVuYmluZDogdW5iaW5kXG59O1xuXG5mb3IgKHZhciBhIGluIF9hcGkpIHtcbiAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChfYXBpLCBhKSkge1xuICAgIGhvdGtleXNbYV0gPSBfYXBpW2FdO1xuICB9XG59XG5cbmlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICB2YXIgX2hvdGtleXMgPSB3aW5kb3cuaG90a2V5cztcblxuICBob3RrZXlzLm5vQ29uZmxpY3QgPSBmdW5jdGlvbiAoZGVlcCkge1xuICAgIGlmIChkZWVwICYmIHdpbmRvdy5ob3RrZXlzID09PSBob3RrZXlzKSB7XG4gICAgICB3aW5kb3cuaG90a2V5cyA9IF9ob3RrZXlzO1xuICAgIH1cblxuICAgIHJldHVybiBob3RrZXlzO1xuICB9O1xuXG4gIHdpbmRvdy5ob3RrZXlzID0gaG90a2V5cztcbn1cblxuZXhwb3J0IGRlZmF1bHQgaG90a2V5cztcbiIsImltcG9ydCBob3RrZXlzIGZyb20gJ2hvdGtleXMtanMnO1xuaW1wb3J0IHsgdXNlUmVmLCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuXG5mdW5jdGlvbiB1c2VJc0hvdGtleVByZXNzZWQoKSB7XG4gICAgcmV0dXJuIGhvdGtleXMuaXNQcmVzc2VkO1xufVxuXG5mdW5jdGlvbiB1c2VIb3RrZXlzKGtleXMsIGNhbGxiYWNrLCBvcHRpb25zLCBkZXBzKSB7XG4gICAgaWYgKG9wdGlvbnMgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgICBkZXBzID0gb3B0aW9ucztcbiAgICAgICAgb3B0aW9ucyA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgY29uc3QgeyBlbmFibGVPblRhZ3MsIGZpbHRlciB9ID0gb3B0aW9ucyB8fCB7fTtcbiAgICBjb25zdCByZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgbWVtb2lzZWRDYWxsYmFjayA9IHVzZUNhbGxiYWNrKChrZXlib2FyZEV2ZW50LCBob3RrZXlzRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKHJlZi5jdXJyZW50ID09PSBudWxsIHx8IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IHJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgICBjYWxsYmFjayhrZXlib2FyZEV2ZW50LCBob3RrZXlzRXZlbnQpO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0sIGRlcHMgPyBbcmVmLCAuLi5kZXBzXSA6IFtyZWZdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLmVuYWJsZU9uVGFncykge1xuICAgICAgICAgICAgaG90a2V5cy5maWx0ZXIgPSAoeyB0YXJnZXQsIHNyY0VsZW1lbnQgfSkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXRUYWdOYW1lID0gKHRhcmdldCAmJiB0YXJnZXQudGFnTmFtZSkgfHwgKHNyY0VsZW1lbnQgJiYgc3JjRWxlbWVudC50YWdOYW1lKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gQm9vbGVhbih0YXJnZXRUYWdOYW1lICYmIGVuYWJsZU9uVGFncyAmJiBlbmFibGVPblRhZ3MuaW5jbHVkZXModGFyZ2V0VGFnTmFtZSkpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZmlsdGVyKVxuICAgICAgICAgICAgaG90a2V5cy5maWx0ZXIgPSBmaWx0ZXI7XG4gICAgICAgIGhvdGtleXMoa2V5cywgb3B0aW9ucyB8fCB7fSwgbWVtb2lzZWRDYWxsYmFjayk7XG4gICAgICAgIHJldHVybiAoKSA9PiBob3RrZXlzLnVuYmluZChrZXlzLCBtZW1vaXNlZENhbGxiYWNrKTtcbiAgICB9LCBbbWVtb2lzZWRDYWxsYmFjaywgb3B0aW9ucywgZW5hYmxlT25UYWdzLCBmaWx0ZXIsIGtleXNdKTtcbiAgICByZXR1cm4gcmVmO1xufVxuXG5leHBvcnQgeyB1c2VIb3RrZXlzLCB1c2VJc0hvdGtleVByZXNzZWQgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcFxuIl0sInNvdXJjZVJvb3QiOiIifQ==
|
package/dist/styles.css
CHANGED
|
@@ -696,6 +696,28 @@
|
|
|
696
696
|
box-shadow: none;
|
|
697
697
|
}
|
|
698
698
|
|
|
699
|
+
@keyframes NoOVrW466Htk6EpZ1wYiI {
|
|
700
|
+
0% {
|
|
701
|
+
opacity: 0;
|
|
702
|
+
}
|
|
703
|
+
to {
|
|
704
|
+
opacity: 1;
|
|
705
|
+
}
|
|
706
|
+
}
|
|
707
|
+
|
|
708
|
+
@keyframes _3icbJre0PJ7MFnXQiCY_q6 {
|
|
709
|
+
0% {
|
|
710
|
+
-webkit-transform: scale(0.6);
|
|
711
|
+
transform: scale(0.6);
|
|
712
|
+
opacity: 0;
|
|
713
|
+
}
|
|
714
|
+
100% {
|
|
715
|
+
-webkit-transform: scale(1);
|
|
716
|
+
transform: scale(1);
|
|
717
|
+
opacity: 1;
|
|
718
|
+
}
|
|
719
|
+
}
|
|
720
|
+
|
|
699
721
|
._3zwln8xpkZwpTY5i6J7bOD {
|
|
700
722
|
position: relative;
|
|
701
723
|
width: 100%;
|
|
@@ -750,6 +772,19 @@
|
|
|
750
772
|
width: auto;
|
|
751
773
|
}
|
|
752
774
|
|
|
775
|
+
._2OKJw8Udt916IXmTlT986Y {
|
|
776
|
+
animation-duration: 1s;
|
|
777
|
+
animation-name: NoOVrW466Htk6EpZ1wYiI;
|
|
778
|
+
animation-timing-function: ease-out;
|
|
779
|
+
}
|
|
780
|
+
|
|
781
|
+
._309VTqjVHpVJHuyAQa_aZi {
|
|
782
|
+
animation-duration: 0.65s;
|
|
783
|
+
animation-name: _3icbJre0PJ7MFnXQiCY_q6;
|
|
784
|
+
animation-timing-function: ease-out;
|
|
785
|
+
animation-fill-mode: forwards;
|
|
786
|
+
}
|
|
787
|
+
|
|
753
788
|
.CPHNd8osKjLvQDEQUErux {
|
|
754
789
|
display: flex;
|
|
755
790
|
contain: content;
|
|
@@ -914,7 +949,7 @@
|
|
|
914
949
|
background-color: var(--theme-menu-background-color, #fff);
|
|
915
950
|
border-bottom: 1px solid var(--theme-menu-border-color, #ddd);
|
|
916
951
|
color: var(--theme-menu-foreground-color, #0e0e0f);
|
|
917
|
-
contain:
|
|
952
|
+
contain: layout;
|
|
918
953
|
cursor: pointer;
|
|
919
954
|
display: flex;
|
|
920
955
|
align-items: center;
|
|
@@ -1153,4 +1188,4 @@ h4 {
|
|
|
1153
1188
|
}
|
|
1154
1189
|
|
|
1155
1190
|
|
|
1156
|
-
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9CdXR0b24vQnV0dG9uLm1vZHVsZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvQnV0dG9uTGluay9CdXR0b25MaW5rLm1vZHVsZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvQ29sb3JTd2F0Y2gvQ29sb3JTd2F0Y2gubW9kdWxlLmNzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9Db2xvclBpY2tlci9Db2xvclBpY2tlci5tb2R1bGUuY3NzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL01vZGFsL01vZGFsLm1vZHVsZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvQ29uZmlybWF0aW9uTW9kYWwvQ29uZmlybWF0aW9uTW9kYWwubW9kdWxlLmNzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9GbG9hdGluZ1BhbmVsL0Zsb2F0aW5nUGFuZWwubW9kdWxlLmNzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9JY29uL0ljb24ubW9kdWxlLmNzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9JY29uQnV0dG9uL0ljb25CdXR0b24ubW9kdWxlLmNzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9JY29uQnV0dG9uTGluay9JY29uQnV0dG9uTGluay5tb2R1bGUuY3NzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL0ltYWdlL0ltYWdlLm1vZHVsZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvTGlzdFZpZXcvTGlzdFZpZXcubW9kdWxlLmNzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9MaXN0Vmlldy9MaXN0Vmlld0l0ZW0ubW9kdWxlLmNzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9NZW51L01lbnUubW9kdWxlLmNzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9NZW51L01lbnVDb250YWluZXIubW9kdWxlLmNzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9NZW51L01lbnVJdGVtLm1vZHVsZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvTWVudS9NZW51TGlua0l0ZW0ubW9kdWxlLmNzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9PdmVybGF5L092ZXJsYXkubW9kdWxlLmNzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9UZXh0SW5wdXQvVGV4dElucHV0Lm1vZHVsZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvVG9hc3QvVG9hc3QubW9kdWxlLmNzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9Ub2FzdC9Ub2FzdENvbnRhaW5lci5tb2R1bGUuY3NzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL1ZpZGVvL1ZpZGVvLm1vZHVsZS5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUN4R0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ25IQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQzlDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQ2RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDN0NBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ3JDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQzlIQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQzdCQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQ25GQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FDL0VBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNwREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQzNCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUNSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ3JGQTtBQUNBO0FBQ0E7QUFDQTs7QUNIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUMzQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FDM0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUN4QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUM1Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUM3RUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FDZEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5NOV9lZ0VDOG1zdTEzNW9QR1ZkSWYge1xuICAtLWJ1dHRvbi1zaXplOiB2YXIoLS10aGVtZS1idXR0b24taGVpZ2h0LW1lZGl1bSwgNDFweCk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtYnV0dG9uLWJhY2tncm91bmQtY29sb3IsICNmZmYpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10aGVtZS1idXR0b24tYm9yZGVyLWNvbG9yLCAjZTJlMmUyKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tdGhlbWUtYnV0dG9uLXNoYWRvdywgMCAwIDEycHggMCByZ2JhKDAsIDAsIDAsIDAuMSkpO1xuICBjb2xvcjogdmFyKC0tdGhlbWUtYnV0dG9uLWZvcmVncm91bmQtY29sb3IsICMwZTBlMGYpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogdmFyKC0tdGhlbWUtYnV0dG9uLWZvbnQtZmFtaWx5LCBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmKTtcbiAgZm9udC1zaXplOiB2YXIoLS10aGVtZS1idXR0b24tZm9udC1zaXplLW1lZGl1bSwgdmFyKC0tdGhlbWUtZm9udC1zaXplLCAxNXB4KSk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBoZWlnaHQ6IHZhcigtLWJ1dHRvbi1zaXplKTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDEuMzVlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1vdXQ7XG4gIHRleHQtYWxpZ246IC13ZWJraXQtY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uTTlfZWdFQzhtc3UxMzVvUEdWZElmOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLk05X2VnRUM4bXN1MTM1b1BHVmRJZjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yLCAjZGRkKTtcbn1cblxuLk05X2VnRUM4bXN1MTM1b1BHVmRJZjphY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xufVxuXG4uTTlfZWdFQzhtc3UxMzVvUEdWZElmOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC4zO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLk05X2VnRUM4bXN1MTM1b1BHVmRJZi5SU1JiVGc4WWM0LXM4azZxVV92Q2cge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uTTlfZWdFQzhtc3UxMzVvUEdWZElmLl8xYk5RaGJad0xBOEVyTG13ZFFpdEplIHtcbiAgLS1idXR0b24tc2l6ZTogdmFyKC0tdGhlbWUtYnV0dG9uLWhlaWdodC1zbWFsbCwgMzBweCk7XG5cbiAgZm9udC1zaXplOiB2YXIoLS10aGVtZS1idXR0b24tZm9udC1zaXplLXNtYWxsLCAwLjc1cmVtKTtcbn1cblxuLk05X2VnRUM4bXN1MTM1b1BHVmRJZi5fMkR3TEZELTRnRHo5SEVBQWl3V0pQcSB7XG4gIC0tYnV0dG9uLXNpemU6IHZhcigtLXRoZW1lLWJ1dHRvbi1oZWlnaHQtbGFyZ2UsIDU0cHgpO1xufVxuXG4uTTlfZWdFQzhtc3UxMzVvUEdWZElmLl8zMUNmbVRVWXBFaDFoWnZjdFE5bEs0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtYnV0dG9uLWZvcmVncm91bmQtY29sb3IsICMwZTBlMGYpO1xuICBjb2xvcjogdmFyKC0tdGhlbWUtYnV0dG9uLWJhY2tncm91bmQtY29sb3IsICNmZmYpO1xufVxuXG4uTTlfZWdFQzhtc3UxMzVvUEdWZElmLl8yYnEzMXFLRDdCNnI2Q1RDT0wzZHJXIHtcbiAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1idXR0b24tc2l6ZSkgLyAyKTtcbiAgcGFkZGluZzogMCBjYWxjKHZhcigtLWJ1dHRvbi1zaXplKSAqIDAuNik7XG59XG5cbi5NOV9lZ0VDOG1zdTEzNW9QR1ZkSWYuXzJicTMxcUtEN0I2cjZDVENPTDNkclcuXzJlVUNXUU1FVE9naVh1aWI3WGZUaFoge1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLXRoZW1lLWJ1dHRvbi1yb3VuZGVkLW9mZnNldCwgLTRweCk7XG59XG5cbi5NOV9lZ0VDOG1zdTEzNW9QR1ZkSWYuXzJicTMxcUtEN0I2cjZDVENPTDNkclcuRzhvX09NRFVGc0VRMXl0VTdvVVlHIHtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLXRoZW1lLWJ1dHRvbi1yb3VuZGVkLW9mZnNldCwgLTRweCk7XG59XG5cbi5NOV9lZ0VDOG1zdTEzNW9QR1ZkSWYuXzJ2a25oVUZBSUdtalhzN3Rna0FDN0kge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uTTlfZWdFQzhtc3UxMzVvUEdWZElmLl8ycDBHcGRtUEtJRkNVZXM1ODRZSGVWIHtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4uTTlfZWdFQzhtc3UxMzVvUEdWZElmLl84dk1sU1JIXzlIb1JHSmg4U3drYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi5NOV9lZ0VDOG1zdTEzNW9QR1ZkSWYublo5ck9ad3pHWFZJM2F5UmdBM1FDIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5NOV9lZ0VDOG1zdTEzNW9QR1ZkSWYuXzF5OGlmYjk1c3BUTFdHQW1zYncxUjIge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5NOV9lZ0VDOG1zdTEzNW9QR1ZkSWYuXzNjTzQ5SkVMTkt0R3lhRnhSbHNoeU8ge1xuICBwYWRkaW5nOiAwO1xufVxuXG4ubzhkN1lvVDgzdW1lUFBTRnpLMzFZIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgY29sdW1uLWdhcDogMWVtO1xuICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogbWluLWNvbnRlbnQ7XG4gIGhlaWdodDogMTAwJTtcbn1cbiIsIi5fM2VWQmdta0c2aGpWb2ttNVh5NFVNUSB7XG4gIC0tYnV0dG9uLXNpemU6IHZhcigtLXRoZW1lLWJ1dHRvbi1oZWlnaHQtbWVkaXVtLCA0MXB4KTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtYnV0dG9uLWJhY2tncm91bmQtY29sb3IsICNmZmYpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10aGVtZS1idXR0b24tYm9yZGVyLWNvbG9yLCAjZTJlMmUyKTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNoYWRvdzogdmFyKC0tdGhlbWUtYnV0dG9uLXNoYWRvdywgMCAwIDEycHggMCByZ2JhKDAsIDAsIDAsIDAuMSkpO1xuICBjb2xvcjogdmFyKC0tdGhlbWUtYnV0dG9uLWZvcmVncm91bmQtY29sb3IsICMwZTBlMGYpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS10aGVtZS1idXR0b24tZm9udC1mYW1pbHksIGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWYpO1xuICBmb250LXNpemU6IHZhcigtLXRoZW1lLWJ1dHRvbi1mb250LXNpemUtbWVkaXVtLCB2YXIoLS10aGVtZS1mb250LXNpemUsIDE1cHgpKTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGhlaWdodDogdmFyKC0tYnV0dG9uLXNpemUpO1xuICB3aWR0aDogbWluLWNvbnRlbnQ7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCAxLjM1ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjFzIGVhc2Utb3V0O1xuICB0ZXh0LWFsaWduOiAtd2Via2l0LWNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLl8zZVZCZ21rRzZoalZva201WHk0VU1ROmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLl8zZVZCZ21rRzZoalZva201WHk0VU1ROmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtYnV0dG9uLWhvdmVyLWJhY2tncm91bmQtY29sb3IsICNkZGQpO1xufVxuXG4uXzNlVkJnbWtHNmhqVm9rbTVYeTRVTVE6YWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbn1cblxuLl8zZVZCZ21rRzZoalZva201WHk0VU1ROmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC4zO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLl8zZVZCZ21rRzZoalZva201WHk0VU1RLl8zRjZoTUVRa0pneXdVa3QxZndtVHN5IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4uXzNlVkJnbWtHNmhqVm9rbTVYeTRVTVEuXzhJOWZobnpiTXZDcmw1S1BqOWYwIHtcbiAgLS1idXR0b24tc2l6ZTogdmFyKC0tdGhlbWUtYnV0dG9uLWhlaWdodC1zbWFsbCwgMzBweCk7XG5cbiAgZm9udC1zaXplOiB2YXIoLS10aGVtZS1idXR0b24tZm9udC1zaXplLXNtYWxsLCAwLjc1cmVtKTtcbn1cblxuLl8zZVZCZ21rRzZoalZva201WHk0VU1RLmNzajRQS1FnZFBCZUY3UmQ1Wi1XUSB7XG4gIC0tYnV0dG9uLXNpemU6IHZhcigtLXRoZW1lLWJ1dHRvbi1oZWlnaHQtbWVkaXVtLCA0MXB4KTtcblxuICBmb250LXNpemU6IHZhcigtLXRoZW1lLWJ1dHRvbi1mb250LXNpemUtbWVkaXVtLCB2YXIoLS10aGVtZS1mb250LXNpemUsIDE1cHgpKTtcbn1cblxuLl8zZVZCZ21rRzZoalZva201WHk0VU1RLl8zX1N3cW1EV09Hdjg3N2lIQUNuSnBDIHtcbiAgLS1idXR0b24tc2l6ZTogdmFyKC0tdGhlbWUtYnV0dG9uLWhlaWdodC1sYXJnZSwgNTRweCk7XG59XG5cbi5fM2VWQmdta0c2aGpWb2ttNVh5NFVNUS5fMXhPYTNDQlJIelBDUldOc2lKNjVhQyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLWJ1dHRvbi1mb3JlZ3JvdW5kLWNvbG9yLCAjMGUwZTBmKTtcbiAgY29sb3I6IHZhcigtLXRoZW1lLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yLCAjZmZmKTtcbn1cblxuLl8zZVZCZ21rRzZoalZva201WHk0VU1RLl8zVUdsT0l0ektva1ZnMHdHSDBlSWxYIHtcbiAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1idXR0b24tc2l6ZSkgLyAyKTtcbiAgcGFkZGluZzogMCBjYWxjKHZhcigtLWJ1dHRvbi1zaXplKSAqIDAuNik7XG59XG5cbi5fM2VWQmdta0c2aGpWb2ttNVh5NFVNUS5fM1VHbE9JdHpLb2tWZzB3R0gwZUlsWC5fMTN0UHNwNmRmQTFUd2IxTU1IUmlHVCB7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tdGhlbWUtYnV0dG9uLXJvdW5kZWQtb2Zmc2V0LCAtNHB4KTtcbn1cblxuLl8zZVZCZ21rRzZoalZva201WHk0VU1RLl8zVUdsT0l0ektva1ZnMHdHSDBlSWxYLk5JNW42YkVWUkNRUHk2QU9Bc1ExcSB7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS10aGVtZS1idXR0b24tcm91bmRlZC1vZmZzZXQsIC00cHgpO1xufVxuXG4uXzNlVkJnbWtHNmhqVm9rbTVYeTRVTVEuZ0lZOWl1dkMyVld4Y3Z3d0NtYUpKIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLl8zZVZCZ21rRzZoalZva201WHk0VU1RLl8zWGZsaDNRMUFablRPRDBjdHF1STZ3IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5fM2VWQmdta0c2aGpWb2ttNVh5NFVNUS5fMkZiUkRFR1NfN2VNVWNKMFZpT0JVMCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uXzNlVkJnbWtHNmhqVm9rbTVYeTRVTVEuXzFyUG0tdDVaV3dyUy1MOWw3ejY2amIge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5fM2VWQmdta0c2aGpWb2ttNVh5NFVNUS5fM0o4RGVhTHE1aXczQXA3cUtKa1A5QiB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5fM2VWQmdta0c2aGpWb2ttNVh5NFVNUS5fM2NFUXMtS19tU2hGTkRnRFAzMldkNiB7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLl8xVlR5ZlR3VmxvQWNad1lDWnlzbHNKIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgY29sdW1uLWdhcDogMWVtO1xuICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IG1pbi1jb250ZW50O1xuICBoZWlnaHQ6IDEwMCU7XG59XG4iLCIuXzEzc3MxeHNNTml6dkVnUF9oeEVWOEIge1xuICAtLWNvbG9yLXN3YXRjaC1zaXplOiB2YXIoLS10aGVtZS1idXR0b24taGVpZ2h0LCA0MXB4KTtcbiAgLS1jb2xvci1zd2F0Y2gtc2hhZG93OiB2YXIoXG4gICAgLS10aGVtZS1idXR0b24tc2hhZG93LFxuICAgIDAgMCAxMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjEpXG4gICk7XG5cbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jb2xvci1zd2F0Y2gtc2l6ZSk7XG4gIGJveC1zaGFkb3c6IHZhcigtLWNvbG9yLXN3YXRjaC1zaGFkb3cpO1xuICBjb250YWluOiBzdHJpY3Q7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgaGVpZ2h0OiB2YXIoLS1jb2xvci1zd2F0Y2gtc2l6ZSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjFzIGVhc2Utb3V0O1xuICB3aWR0aDogdmFyKC0tY29sb3Itc3dhdGNoLXNpemUpO1xufVxuXG4uXzEzc3MxeHNNTml6dkVnUF9oeEVWOEI6aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICBib3gtc2hhZG93OiB2YXIoLS10aGVtZS1idXR0b24taG92ZXItc2hhZG93LCAwIDAgMTVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNSkpO1xufVxuXG4uXzEzc3MxeHNNTml6dkVnUF9oeEVWOEI6bm90KC5MNmZBdDZSWll6X3ozd1BialpFeEgpOmFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcbn1cblxuLl8xM3NzMXhzTU5penZFZ1BfaHhFVjhCLkw2ZkF0NlJaWXpfejN3UGJqWkV4SCB7XG4gIC0tY29sb3Itc3dhdGNoLXNpemU6IGNhbGModmFyKC0tdGhlbWUtYnV0dG9uLWhlaWdodCwgNDFweCkgKiAxLjUpO1xuXG4gIGN1cnNvcjogYXV0bztcbn1cblxuLypcbiAqIFNlZSBodHRwczovL2dvbWFrZXRoaW5ncy5jb20vaGlkZGVuLWNvbnRlbnQtZm9yLWJldHRlci1hMTF5LyNoaWRpbmctdGhlLWxpbmtcbiovXG4uXzN2SjVteHB6YVlzS2F4Zi04dEIzMXgge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlci13aWR0aDogMDtcbn1cbiIsIi5fMzFGd0hfbldyNzJrM3B1Z0FwSnViOSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGNvbnRhaW46IGxheW91dDtcbiAgZ3JpZC1nYXA6IHZhcigtLXRoZW1lLWJ1dHRvbi1nYXAsIDEwcHgpO1xufVxuXG4uXzMxRndIX25XcjcyazNwdWdBcEp1YjkuUWEtQnB1VFQya3hwbVZfQVFnQ2pIIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbn1cblxuLl8zMUZ3SF9uV3I3MmszcHVnQXBKdWI5Ll8yeDRTQW5ib3B5Wm1reWNXTEMwRVhrIHtcbiAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcbiAganVzdGlmeS1pdGVtczogY2VudGVyO1xufVxuIiwiLl8xeXhDYlFKcVN0VXZ5dHZLRWVOQzNuIHtcbiAgYm90dG9tOiAwO1xuICBjb250YWluOiBzdHJpY3Q7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiA5O1xufVxuXG5Ac3VwcG9ydHMgKC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBub25lKSBvciAoYmFja2Ryb3AtZmlsdGVyOiBub25lKSB7XG4gIC5fMXl4Q2JRSnFTdFV2eXR2S0VlTkMzbiB7XG4gICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTJweCk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEycHgpO1xuICB9XG59XG5cbi8qIHNsaWdodGx5IHRyYW5zcGFyZW50IGZhbGxiYWNrIGZvciBGaXJlZm94IChub3Qgc3VwcG9ydGluZyBiYWNrZHJvcC1maWx0ZXIpICovXG5Ac3VwcG9ydHMgbm90ICgoLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IG5vbmUpIG9yIChiYWNrZHJvcC1maWx0ZXI6IG5vbmUpKSB7XG4gIC5fMXl4Q2JRSnFTdFV2eXR2S0VlTkMzbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKFxuICAgICAgLS10aGVtZS1tb2RhbC1vdmVybGF5LWNvbG9yLFxuICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpXG4gICAgKTtcbiAgfVxufVxuXG4uRDhTakJ4M2lrejYzNll1Ym5IWUFZIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtbW9kYWwtYmFja2dyb3VuZC1jb2xvciwgI2ZmZik7XG4gIGJveC1zaGFkb3c6IHZhcigtLXRoZW1lLW1vZGFsLXNoYWRvdywgMCAwIDUwcHggMCByZ2JhKDAsIDAsIDAsIDAuMikpO1xuICBvdXRsaW5lOiBub25lO1xuICBvdmVyZmxvdzogYXV0bztcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgei1pbmRleDogMTA7XG59XG5cbi5vOFZSVnhNcnMxeFhhdkFEeXhqTEcge1xuICBib3R0b206IHZhcigtLXRoZW1lLW91dGVyLXBhZGRpbmcsIDIxcHgpO1xuICBsZWZ0OiB2YXIoLS10aGVtZS1vdXRlci1wYWRkaW5nLCAyMXB4KTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMTtcbn1cbiIsIi5ra2dIb0JRaEZQc0tqX3gxWkZkUkgge1xuICBjb250YWluOiBjb250ZW50O1xuICBtaW4td2lkdGg6IDMzdnc7XG59XG5cbi5fMVd1dkhELUdkWExydHF3YTA0VzFxeSB7XG4gIHBhZGRpbmc6IDFlbSB2YXIoLS10aGVtZS1jb25maXJtYXRpb24tbW9kYWwtaG9yaXpvbnRhbC1wYWRkaW5nLCAxLjVyZW0pIDEuNWVtXG4gICAgdmFyKC0tdGhlbWUtY29uZmlybWF0aW9uLW1vZGFsLWhvcml6b250YWwtcGFkZGluZywgMS41cmVtKTtcbiAgZm9udC1zaXplOiB2YXIoLS10aGVtZS1jb25maXJtYXRpb24tbW9kYWwtaGVhZGVyLWZvbnQtc2l6ZSwgMnJlbSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbjogMDtcbn1cblxuLl8yN2VVeVNRcXZxNXFsb05DbElqSVNUIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcbiAgcm93LWdhcDogMWVtO1xuICBwYWRkaW5nOiAycmVtIHZhcigtLXRoZW1lLWNvbmZpcm1hdGlvbi1tb2RhbC1ob3Jpem9udGFsLXBhZGRpbmcsIDEuNXJlbSk7XG59XG5cbi5fMjdlVXlTUXF2cTVxbG9OQ2xJaklTVC5fMmd0QlhMOVBGU3BIc1cwQTl4ZDU1UyB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5fNWdJcHlGM1g1dGhQUUFuc0FDNHo5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogY2FsYyhcbiAgICAgIHZhcigtLXRoZW1lLWNvbmZpcm1hdGlvbi1tb2RhbC1ob3Jpem9udGFsLXBhZGRpbmcsIDEuNXJlbSkgKiAxLjI1XG4gICAgKVxuICAgIHZhcigtLXRoZW1lLWNvbmZpcm1hdGlvbi1tb2RhbC1ob3Jpem9udGFsLXBhZGRpbmcsIDEuNXJlbSk7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLnN3c29DaWkxdzR4Tmw3aW9EVmtPNSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG4gIGNvbHVtbi1nYXA6IHZhcigtLXRoZW1lLWJ1dHRvbi1nYXAsIDdweCk7XG59XG4iLCIuYTZOSE8yQ1ZWQ2Zpbml5ZTJYTE4tIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250YWluOiBsYXlvdXQ7XG4gIG1heC1oZWlnaHQ6IDEwMHZoO1xuICBtYXgtd2lkdGg6IDEwMHZ3O1xuICB6LWluZGV4OiAzO1xufVxuXG4uYTZOSE8yQ1ZWQ2Zpbml5ZTJYTE4tLl8zUlNnQjc2ckVCbmlQYzJZY3I4WmJ2IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLmE2TkhPMkNWVkNmaW5peWUyWExOLS5fMUprWDE1aWdjbG5ibTVzUlNjV1ZEWSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5hNk5ITzJDVlZDZmluaXllMlhMTi0uTU1RMXlqRWFmV2tZRlZESE1wVGJJIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xufVxuXG4uYTZOSE8yQ1ZWQ2Zpbml5ZTJYTE4tLl8zbTJNX05hcmM1eHdMYXk4SEpsamtjIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLmE2TkhPMkNWVkNmaW5peWUyWExOLS5fMXJmYTQ5emhaeE5pZno2NE9xYl82UCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uYTZOSE8yQ1ZWQ2Zpbml5ZTJYTE4tLl9rVWFsbkRlRWZ2enFBamkwQU1EbyB7XG4gIHRvcDogdmFyKC0tdGhlbWUtb3V0ZXItcGFkZGluZywgMjFweCk7XG59XG5cbi5hNk5ITzJDVlZDZmluaXllMlhMTi0uVzhKQUl3TGpPOEpRR2J2aVpwUFF3IHtcbiAgdG9wOiAwO1xufVxuXG4uYTZOSE8yQ1ZWQ2Zpbml5ZTJYTE4tLl8zb3BKN0ViNnRqMzk0dVY4YTU3aXh6IHtcbiAgdG9wOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi5hNk5ITzJDVlZDZmluaXllMlhMTi0uXzMtdmJ3anAwYVBjTEVWMVN4MElDZ1Age1xuICByaWdodDogdmFyKC0tdGhlbWUtb3V0ZXItcGFkZGluZywgMjFweCk7XG59XG5cbi5hNk5ITzJDVlZDZmluaXllMlhMTi0uXzNYTkZ5NVpvTUNvWUJJYWJlR040QlEge1xuICByaWdodDogMDtcbn1cblxuLmE2TkhPMkNWVkNmaW5peWUyWExOLS5fMTJjM0N6VU1RRThBRzNBTDhIaWtpMiB7XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbn1cblxuLmE2TkhPMkNWVkNmaW5peWUyWExOLS5fM2dlQkVOSDVvRXJxR2R0LVF5SG5QaCB7XG4gIGJvdHRvbTogdmFyKC0tdGhlbWUtb3V0ZXItcGFkZGluZywgMjFweCk7XG59XG5cbi5hNk5ITzJDVlZDZmluaXllMlhMTi0uXzNfc2FNNEdzMzJuUmJJSEh4SUViRjYge1xuICBib3R0b206IDA7XG59XG5cbi5hNk5ITzJDVlZDZmluaXllMlhMTi0uXzJQTEU0ZG1HaG5jZ2stbEVub1U0a3Yge1xuICBib3R0b206IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xufVxuXG4uYTZOSE8yQ1ZWQ2Zpbml5ZTJYTE4tLl8xaVNCbnlaZ1BlRlVXb000aTZkU3BVIHtcbiAgbGVmdDogdmFyKC0tdGhlbWUtb3V0ZXItcGFkZGluZywgMjFweCk7XG59XG5cbi5hNk5ITzJDVlZDZmluaXllMlhMTi0uXzFmWDE5cUlPU2huMm81dXVzUnpUZ3Mge1xuICBsZWZ0OiAwO1xufVxuXG4uYTZOSE8yQ1ZWQ2Zpbml5ZTJYTE4tLktCSERvY2t1SFRFT0tNR096YWRYaSB7XG4gIGxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLmE2TkhPMkNWVkNmaW5peWUyWExOLS5fMzF0NnRIUko1cy01RGNETEZUS2gxbSB7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4uYTZOSE8yQ1ZWQ2Zpbml5ZTJYTE4tLl8yaHE3ZmtEWEh4cnh6MnQ3TExnNF85IHtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLmE2TkhPMkNWVkNmaW5peWUyWExOLS5fMzF0NnRIUko1cy01RGNETEZUS2gxbS5fMmhxN2ZrRFhIeHJ4ejJ0N0xMZzRfOSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4uYTZOSE8yQ1ZWQ2Zpbml5ZTJYTE4tLl8zMXQ2dEhSSjVzLTVEY0RMRlRLaDFtLmE2TkhPMkNWVkNmaW5peWUyWExOLS5fM29wSjdFYjZ0ajM5NHVWOGE1N2l4eiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4uYTZOSE8yQ1ZWQ2Zpbml5ZTJYTE4tLl8zMXQ2dEhSSjVzLTVEY0RMRlRLaDFtLmE2TkhPMkNWVkNmaW5peWUyWExOLS5fMlBMRTRkbUdobmNnay1sRW5vVTRrdiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDUwJSk7XG59XG5cbi5hNk5ITzJDVlZDZmluaXllMlhMTi0uXzJocTdma0RYSHhyeHoydDdMTGc0XzkuYTZOSE8yQ1ZWQ2Zpbml5ZTJYTE4tLktCSERvY2t1SFRFT0tNR096YWRYaSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4uYTZOSE8yQ1ZWQ2Zpbml5ZTJYTE4tLl8yaHE3ZmtEWEh4cnh6MnQ3TExnNF85LmE2TkhPMkNWVkNmaW5peWUyWExOLS5fMTJjM0N6VU1RRThBRzNBTDhIaWtpMiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7XG59XG5cbi5hNk5ITzJDVlZDZmluaXllMlhMTi0uS0JIRG9ja3VIVEVPS01HT3phZFhpLmE2TkhPMkNWVkNmaW5peWUyWExOLS5fM29wSjdFYjZ0ajM5NHVWOGE1N2l4eiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4uYTZOSE8yQ1ZWQ2Zpbml5ZTJYTE4tLl8xMmMzQ3pVTVFFOEFHM0FMOEhpa2kyLmE2TkhPMkNWVkNmaW5peWUyWExOLS5fM29wSjdFYjZ0ajM5NHVWOGE1N2l4eiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7XG59XG5cbi5hNk5ITzJDVlZDZmluaXllMlhMTi0uS0JIRG9ja3VIVEVPS01HT3phZFhpLmE2TkhPMkNWVkNmaW5peWUyWExOLS5fMlBMRTRkbUdobmNnay1sRW5vVTRrdiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDUwJSk7XG59XG5cbi5hNk5ITzJDVlZDZmluaXllMlhMTi0uXzEyYzNDelVNUUU4QUczQUw4SGlraTIuYTZOSE8yQ1ZWQ2Zpbml5ZTJYTE4tLl8yUExFNGRtR2huY2drLWxFbm9VNGt2IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCA1MCUpO1xufVxuIiwiLnVoOHprbVFwNXliazVXSlNsYTY5RCB7XG4gIC0tc2l6ZTogdmFyKC0tdGhlbWUtaWNvbi1oZWlnaHQtbWVkaXVtLCAyMnB4KTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGFpbjogc3RyaWN0O1xuICBoZWlnaHQ6IHZhcigtLXNpemUpO1xuICB3aWR0aDogdmFyKC0tc2l6ZSk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMC4ycyAtd2Via2l0LWZpbHRlciBlYXNlLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiAwLjJzIC1tb3otZmlsdGVyIGVhc2Utb3V0O1xuICAtbW96LXRyYW5zaXRpb246IDAuMnMgZmlsdGVyIGVhc2Utb3V0O1xuICAtbXMtdHJhbnNpdGlvbjogMC4ycyAtbXMtZmlsdGVyIGVhc2Utb3V0O1xuICAtby10cmFuc2l0aW9uOiAwLjJzIC1vLWZpbHRlciBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbjogMC4ycyBmaWx0ZXIgZWFzZS1vdXQsIDAuMnMgLXdlYmtpdC1maWx0ZXIgZWFzZS1vdXQ7XG59XG5cbi51aDh6a21RcDV5Yms1V0pTbGE2OUQuXzlESUN0cW1RU25MUGptMVhJN1lWcyB7XG4gIC0tc2l6ZTogdmFyKC0tdGhlbWUtaWNvbi1oZWlnaHQtc21hbGwsIDE2cHgpO1xufVxuXG4udWg4emttUXA1eWJrNVdKU2xhNjlELnNKcHhmWWdpVHo3aWs2Sk9HdTF3aSB7XG4gIC0tc2l6ZTogdmFyKC0tdGhlbWUtaWNvbi1oZWlnaHQtbWVkaXVtLCAyMnB4KTtcbn1cblxuLnVoOHprbVFwNXliazVXSlNsYTY5RC5fMnJndWNBSDhCbmxpLWNtano5aTJDMiB7XG4gIC0tc2l6ZTogdmFyKC0tdGhlbWUtaWNvbi1oZWlnaHQtbGFyZ2UsIDI2cHgpO1xufVxuXG4udWg4emttUXA1eWJrNVdKU2xhNjlELkktZUk1cThyZDJiU3A5Qi1GaFV6YSB7XG4gIGZpbHRlcjogaW52ZXJ0KDEpO1xufVxuIiwiLl8yTVB1SjNBcHZyQXZyZXdqU1dHQUEyIHtcbiAgLS1pY29uLXNpemU6IHZhcigtLXRoZW1lLWljb24taGVpZ2h0LW1lZGl1bSwgMjNweCk7XG5cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtYnV0dG9uLWJhY2tncm91bmQtY29sb3IsICNmZmYpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10aGVtZS1idXR0b24tYm9yZGVyLWNvbG9yLCAjZTJlMmUyKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tdGhlbWUtYnV0dG9uLXNoYWRvdywgMCAwIDEycHggMCByZ2JhKDAsIDAsIDAsIDAuMSkpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMDtcbiAgaGVpZ2h0OiBtaW4tY29udGVudDtcbiAgd2lkdGg6IG1pbi1jb250ZW50O1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLWljb24tc2l6ZSkgLyAxLjUpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLW91dDtcbn1cblxuLl8yTVB1SjNBcHZyQXZyZXdqU1dHQUEyLmxPa29hbjdkYnAtZ29EdEpWdUs3QiB7XG4gIC0taWNvbi1zaXplOiB2YXIoLS10aGVtZS1pY29uLWhlaWdodC1zbWFsbCwgMTZweCk7XG59XG5cbi5fMk1QdUozQXB2ckF2cmV3alNXR0FBMi5fM2E5Y1d0c19ZN3gzcGFqazh1bU4zeiB7XG4gIC0taWNvbi1zaXplOiB2YXIoLS10aGVtZS1pY29uLWhlaWdodC1tZWRpdW0sIDIzcHgpO1xufVxuXG4uXzJNUHVKM0FwdnJBdnJld2pTV0dBQTIuXzJhRzZ6WHFURUtWY3ZCYWFuaUNOQnkge1xuICAtLWljb24tc2l6ZTogdmFyKC0tdGhlbWUtaWNvbi1oZWlnaHQtbGFyZ2UsIDM1cHgpO1xufVxuXG4uXzJNUHVKM0FwdnJBdnJld2pTV0dBQTIuXzJKWDAzNHFVVENvVGRXQzJwcEE0ODcge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0taWNvbi1zaXplKSAvIDEuMjUpO1xufVxuXG4uXzJNUHVKM0FwdnJBdnJld2pTV0dBQTIuXzJKWDAzNHFVVENvVGRXQzJwcEE0ODcuXzF3cEMtV1hnTDA2UUt4dFB6T3dOUksge1xuICBtYXJnaW4tdG9wOiB2YXIoLS10aGVtZS1idXR0b24tcm91bmRlZC1vZmZzZXQsIC00cHgpO1xufVxuXG4uXzJNUHVKM0FwdnJBdnJld2pTV0dBQTIuXzJKWDAzNHFVVENvVGRXQzJwcEE0ODcuTEl6clFDN3BvUVQ5alVSQnFNREtoIHtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS10aGVtZS1idXR0b24tcm91bmRlZC1vZmZzZXQsIC00cHgpO1xufVxuXG4uXzJNUHVKM0FwdnJBdnJld2pTV0dBQTIuXzJKWDAzNHFVVENvVGRXQzJwcEE0ODcuXzJpX3c1VUxrVUs3TFZ3NWhFTzk3RXcge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS10aGVtZS1idXR0b24tcm91bmRlZC1vZmZzZXQsIC00cHgpO1xufVxuXG4uXzJNUHVKM0FwdnJBdnJld2pTV0dBQTIuXzJKWDAzNHFVVENvVGRXQzJwcEE0ODcuXzM4ZUtsVFFUVjFZbG5FZTFHbU50UWsge1xuICBtYXJnaW4tbGVmdDogdmFyKC0tdGhlbWUtYnV0dG9uLXJvdW5kZWQtb2Zmc2V0LCAtNHB4KTtcbn1cblxuLl8yTVB1SjNBcHZyQXZyZXdqU1dHQUEyOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLl8yTVB1SjNBcHZyQXZyZXdqU1dHQUEyOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC4zO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLl8yTVB1SjNBcHZyQXZyZXdqU1dHQUEyOmFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG59XG5cbi5fMk1QdUozQXB2ckF2cmV3alNXR0FBMjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yLCAjZGRkKTtcbn1cblxuLl8yTVB1SjNBcHZyQXZyZXdqU1dHQUEyLl8yTmtaNTBya0EzZVpDeXNZOUZBcC1lIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtYnV0dG9uLWZvcmVncm91bmQtY29sb3IsICMwZTBlMGYpO1xuICBjb2xvcjogdmFyKC0tdGhlbWUtYnV0dG9uLWJhY2tncm91bmQtY29sb3IsICNmZmYpO1xufVxuXG4uXzJNUHVKM0FwdnJBdnJld2pTV0dBQTIuXzNVeTVIWmR2a1dmN2JpbFQwd3h3VmUge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uXzJNUHVKM0FwdnJBdnJld2pTV0dBQTIuXzJGNEh5OWxxNU9DckVwUFpQaDV4QUoge1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi5fMk1QdUozQXB2ckF2cmV3alNXR0FBMi5fMnU3cVRNZUU5RDVydGNzRWNTb0FZMyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xufVxuIiwiLl8xdWlmbUtOUER6ZHU1WURuaGd3UFFLIHtcbiAgLS1pY29uLXNpemU6IHZhcigtLXRoZW1lLWljb24taGVpZ2h0LW1lZGl1bSwgMjNweCk7XG5cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtYnV0dG9uLWJhY2tncm91bmQtY29sb3IsICNmZmYpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10aGVtZS1idXR0b24tYm9yZGVyLWNvbG9yLCAjZTJlMmUyKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tdGhlbWUtYnV0dG9uLXNoYWRvdywgMCAwIDEycHggMCByZ2JhKDAsIDAsIDAsIDAuMSkpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMDtcbiAgaGVpZ2h0OiBtaW4tY29udGVudDtcbiAgd2lkdGg6IG1pbi1jb250ZW50O1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLWljb24tc2l6ZSkgLyAxLjUpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLW91dDtcbn1cblxuLl8xdWlmbUtOUER6ZHU1WURuaGd3UFFLLnBmSGNZYWV3LUhySHRUTnVSNHY3aCB7XG4gIC0taWNvbi1zaXplOiB2YXIoLS10aGVtZS1pY29uLWhlaWdodC1zbWFsbCwgMTZweCk7XG59XG5cbi5fMXVpZm1LTlBEemR1NVlEbmhnd1BRSy5fMjZaOUZILUNOUHFmNTVaUlAxdm5hYiB7XG4gIC0taWNvbi1zaXplOiB2YXIoLS10aGVtZS1pY29uLWhlaWdodC1sYXJnZSwgMzVweCk7XG59XG5cbi5fMXVpZm1LTlBEemR1NVlEbmhnd1BRSy5fMnE3V3ZST2hObTNnc1JJUmFRUWVhVSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1pY29uLXNpemUpIC8gMS4yNSk7XG59XG5cbi5fMXVpZm1LTlBEemR1NVlEbmhnd1BRSy5fMnE3V3ZST2hObTNnc1JJUmFRUWVhVS53WnlfdnVsWmtNYldTWDBha2NaSEEge1xuICBtYXJnaW4tdG9wOiB2YXIoLS10aGVtZS1idXR0b24tcm91bmRlZC1vZmZzZXQsIC00cHgpO1xufVxuXG4uXzF1aWZtS05QRHpkdTVZRG5oZ3dQUUsuXzJxN1d2Uk9oTm0zZ3NSSVJhUVFlYVUuXzJqaGhwbTYwX3lQRWZ4US13YXpqLTUge1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLXRoZW1lLWJ1dHRvbi1yb3VuZGVkLW9mZnNldCwgLTRweCk7XG59XG5cbi5fMXVpZm1LTlBEemR1NVlEbmhnd1BRSy5fMnE3V3ZST2hObTNnc1JJUmFRUWVhVS5Ebm5yRzdaWG1USWhtV1Vjczk5bTEge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS10aGVtZS1idXR0b24tcm91bmRlZC1vZmZzZXQsIC00cHgpO1xufVxuXG4uXzF1aWZtS05QRHpkdTVZRG5oZ3dQUUsuXzJxN1d2Uk9oTm0zZ3NSSVJhUVFlYVUuXzFZZENnN1Q2WGpobXh3Y2pMTlNFYi0ge1xuICBtYXJnaW4tbGVmdDogdmFyKC0tdGhlbWUtYnV0dG9uLXJvdW5kZWQtb2Zmc2V0LCAtNHB4KTtcbn1cblxuLl8xdWlmbUtOUER6ZHU1WURuaGd3UFFLOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLl8xdWlmbUtOUER6ZHU1WURuaGd3UFFLOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC4zO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLl8xdWlmbUtOUER6ZHU1WURuaGd3UFFLOmFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG59XG5cbi5fMXVpZm1LTlBEemR1NVlEbmhnd1BRSzpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yLCAjZGRkKTtcbn1cblxuLl8xdWlmbUtOUER6ZHU1WURuaGd3UFFLLkhWMFItbHF3bXllcXNTMVo4cG9aUyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLWJ1dHRvbi1mb3JlZ3JvdW5kLWNvbG9yLCAjMGUwZTBmKTtcbiAgY29sb3I6IHZhcigtLXRoZW1lLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yLCAjZmZmKTtcbn1cblxuLl8xdWlmbUtOUER6ZHU1WURuaGd3UFFLLl8xTFBwdDcwSmppbTZTZlplMzVHMmtiIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLl8xdWlmbUtOUER6ZHU1WURuaGd3UFFLLlJrelNyR2l4TTI4Sk1hdDZJQjVMciB7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLl8xdWlmbUtOUER6ZHU1WURuaGd3UFFLLl8xS2RYZlkzUGs2dEVOWUg4MXRXcnBzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4iLCIuXzN6d2xuOHhwa1p3cFRZNWk2SjdiT0Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGNvbnRhaW46IHN0cmljdDtcbn1cblxuLl8zendsbjh4cGtad3BUWTVpNko3Yk9ELl8yZWw4eFdxcWYzdzRTM3gwczJEOXhsIHtcbiAgY29udGFpbjogY29udGVudDtcbn1cblxuLkVnM2ltZmJYZEk2VTZyZlJFMC1xTyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGNvbnRhaW46IGNvbnRlbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbn1cblxuLnQxODk3ZGZ0c19wcUh6U253bVdCVyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udDE4OTdkZnRzX3BxSHpTbndtV0JXLl8xLVJfSERqTzZxTm55d2NOaVM4YnlEIHtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbn1cblxuLnQxODk3ZGZ0c19wcUh6U253bVdCVy5fM21EcENqSEoyZzY2ZTB3NFIyRVprRyB7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbn1cblxuLnQxODk3ZGZ0c19wcUh6U253bVdCVy5fM3lFdEg3Y3FwVWxWRmFHaVdHMTI5dyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi50MTg5N2RmdHNfcHFIelNud21XQlcubHlpQnM2T0J4dlJFbndJUjBsczJDIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogYXV0bztcbn1cbiIsIi5DUEhOZDhvc0tqTHZRREVRVUVydXgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb250YWluOiBjb250ZW50O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xufVxuXG4uXzFlN2hIU1ZvNTllOHlRbmhjOUI2SWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1saXN0LXZpZXctYmFja2dyb3VuZC1jb2xvciwgI2ZmZik7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVtZS1saXN0LXZpZXctYm9yZGVyLWNvbG9yLCAjZGRkKTtcbiAgY29sb3I6IHZhcigtLXRoZW1lLWxpc3Qtdmlldy1mb3JlZ3JvdW5kLWNvbG9yLCAjMGUwZTBmKTtcbiAgY29udGFpbjogY29udGVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IHZhcigtLXRoZW1lLWxpc3Qtdmlldy1oZWFkZXItcGFkZGluZywgMS4yNXJlbSAxLjVyZW0gMS43NXJlbSAxLjVyZW0pO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLl8xdzFXOEU2X0h6ZmVzM1daVFlaYUpLIHtcbiAgY29udGFpbjogY29udGVudDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwYWRkaW5nOiAwO1xufVxuIiwiLl8yTGdqcUFCd2pIdHBiR3prUVFrcWlRIHtcbiAgY29udGFpbjogY29udGVudDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRoZW1lLXNlcGFyYXRvci1jb2xvciwgI2RkZCk7XG59XG5cbi5fMkxnanFBQndqSHRwYkd6a1FRa3FpUTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbiIsIi5fMmFoaThKY254R0hyblptRDB4VDlSTCB7XG4gIGNvbnRhaW46IGNvbnRlbnQ7XG4gIGJveC1zaGFkb3c6IHZhcigtLXRoZW1lLW1lbnUtc2hhZG93LCAwIDAgMTVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNSkpO1xuICBtYXgtaGVpZ2h0OiB2YXIoLS10aGVtZS1tZW51LW1heC1oZWlnaHQsIDUwdmgpO1xuICBtaW4td2lkdGg6IHZhcigtLXRoZW1lLW1lbnUtbWluLXdpZHRoLCA1dncpO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5fMmFoaThKY254R0hyblptRDB4VDlSTCB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cblxuLl8yYWhpOEpjbnhHSHJuWm1EMHhUOVJMLl8zZ3BGVGQxRmR4NEVBZnExNzBUR3M3Ll8xTDVBVHBNOUdYeS1TT1JGcjBHNlM0IHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tdGhlbWUtbWVudS1tYXJnaW4sIDFyZW0pO1xuICBib3R0b206IDEwMCU7XG4gIHJpZ2h0OiAwO1xufVxuXG4uXzJhaGk4SmNueEdIcm5abUQweFQ5UkwuXzNncEZUZDFGZHg0RUFmcTE3MFRHczcuQ1lFSmwzOVRrRWZuS2FsM3Z0dno5IHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tdGhlbWUtbWVudS1tYXJnaW4sIDFyZW0pO1xuICBib3R0b206IDEwMCU7XG4gIGxlZnQ6IDA7XG59XG5cbi5fMmFoaThKY254R0hyblptRDB4VDlSTC5fM3p5cC1OZFRCZUJES3ZrMjZwc1p1cC5fMUw1QVRwTTlHWHktU09SRnIwRzZTNCB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXRoZW1lLW1lbnUtbWFyZ2luLCAxcmVtKTtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbn1cblxuLl8yYWhpOEpjbnhHSHJuWm1EMHhUOVJMLl8zenlwLU5kVEJlQkRLdmsyNnBzWnVwLkNZRUpsMzlUa0VmbkthbDN2dHZ6OSB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXRoZW1lLW1lbnUtbWFyZ2luLCAxcmVtKTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xufVxuXG4uXzJhaGk4SmNueEdIcm5abUQweFQ5UkwuXzFpYWF6aVpyVklfLUU4RDk5V2ROamkge1xuICAtd2Via2l0LWFuaW1hdGlvbjogXzJmaUtlNC1YOFBxY0c0XzlxZUIzWk8gMC41cyBlYXNlLWluLW91dCBib3RoO1xuICBhbmltYXRpb246IF8yZmlLZTQtWDhQcWNHNF85cWVCM1pPIDAuNXMgZWFzZS1pbi1vdXQgYm90aDtcbn1cblxuLl8xOW5rMUlNTlMtdV9ZSVFMbG1ZUnRVIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtbGlzdC12aWV3LWJhY2tncm91bmQtY29sb3IsICNmZmYpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlbWUtbGlzdC12aWV3LWJvcmRlci1jb2xvciwgI2RkZCk7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1saXN0LXZpZXctZm9yZWdyb3VuZC1jb2xvciwgIzBlMGUwZik7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiB2YXIoLS10aGVtZS1saXN0LXZpZXctaGVhZGVyLXBhZGRpbmcsIDEuMjVyZW0gMS41cmVtIDEuNzVyZW0gMS41cmVtKTtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBfMmZpS2U0LVg4UHFjRzRfOXFlQjNaTyB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIF8yZmlLZTQtWDhQcWNHNF85cWVCM1pPIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG4iLCIuXzItU0Z3c3BwRXVvYkJKa0F3d1FyRkMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiIsIi5fM2dHY3pSSndyTmVuWFRCTFFuQzI5TSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLW1lbnUtYmFja2dyb3VuZC1jb2xvciwgI2ZmZik7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVtZS1tZW51LWJvcmRlci1jb2xvciwgI2RkZCk7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1tZW51LWZvcmVncm91bmQtY29sb3IsICMwZTBlMGYpO1xuICBjb250YWluOiBsYXlvdXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IHZhcigtLXRoZW1lLW1lbnUtaXRlbS1mb250LWZhbWlseSwgc2Fucy1zZXJpZik7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS10aGVtZS1tZW51LWl0ZW0tZm9udC13ZWlnaHQsIDUwMCk7XG4gIG1pbi1oZWlnaHQ6IHZhcigtLXRoZW1lLW1lbnUtaXRlbS1oZWlnaHQsIDQxcHgpO1xuICBwYWRkaW5nOiB2YXIoLS10aGVtZS1tZW51LWl0ZW0tcGFkZGluZywgMCAxLjVyZW0pO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uXzNnR2N6Ukp3ck5lblhUQkxRbkMyOU0uXzJqMWlsVU5rYkZHU2d1bFhTb0hBZFAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1tZW51LWZvcmVncm91bmQtY29sb3IsICMwZTBlMGYpO1xuICBjb2xvcjogdmFyKC0tdGhlbWUtbWVudS1iYWNrZ3JvdW5kLWNvbG9yLCAjZmZmKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uXzNnR2N6Ukp3ck5lblhUQkxRbkMyOU06aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1tZW51LWhvdmVyLWJhY2tncm91bmQtY29sb3IsICNkZGQpO1xufVxuXG4uXzNnR2N6Ukp3ck5lblhUQkxRbkMyOU06bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG4iLCIuXzJEeTFMVGZTY0dadFNiXzVMdWQtbFUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1tZW51LWJhY2tncm91bmQtY29sb3IsICNmZmYpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlbWUtbWVudS1ib3JkZXItY29sb3IsICNkZGQpO1xuICBjb2xvcjogdmFyKC0tdGhlbWUtbWVudS1mb3JlZ3JvdW5kLWNvbG9yLCAjMGUwZTBmKTtcbiAgY29udGFpbjogc3RyaWN0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS10aGVtZS1tZW51LWl0ZW0tZm9udC1mYW1pbHksIHNhbnMtc2VyaWYpO1xuICBmb250LXdlaWdodDogdmFyKC0tdGhlbWUtbWVudS1pdGVtLWZvbnQtd2VpZ2h0LCA1MDApO1xuICBoZWlnaHQ6IHZhcigtLXRoZW1lLW1lbnUtaXRlbS1oZWlnaHQsIDQxcHgpO1xuICBwYWRkaW5nOiB2YXIoLS10aGVtZS1tZW51LWl0ZW0tcGFkZGluZywgMCAxLjVyZW0pO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uXzJEeTFMVGZTY0dadFNiXzVMdWQtbFUuXzJVd3M3YmozeWVqbW4xazdYaXlLZlEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1tZW51LWZvcmVncm91bmQtY29sb3IsICMwZTBlMGYpO1xuICBjb2xvcjogdmFyKC0tdGhlbWUtbWVudS1iYWNrZ3JvdW5kLWNvbG9yLCAjZmZmKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uXzJEeTFMVGZTY0dadFNiXzVMdWQtbFU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1tZW51LWhvdmVyLWJhY2tncm91bmQtY29sb3IsICNkZGQpO1xufVxuXG4uXzJsSTdTMnQ1eldoUXN2Z19YblE3LS06bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG4iLCIuXzJRZ3B5ckRjVVF5S1lFU0M1RFhYSnIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250YWluOiBzdHJpY3Q7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG4gICAgLS10aGVtZS1vdmVybGF5LWJhY2tncm91bmQtY29sb3IsXG4gICAgcmdiYSgyNDAsIDI0MCwgMjQwLCAwLjc1KVxuICApO1xufVxuXG4uXzJRZ3B5ckRjVVF5S1lFU0M1RFhYSnIuXzI4ZlZtb3hwNjlPUHI4OEV3MHpWZU4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLl8yUWdweXJEY1VReUtZRVNDNURYWEpyLl8yc1UzNTE1RWJGRmdlUDF5SzJadWJ6IHtcbiAgcG9zaXRpb246IGZpeGVkO1xufVxuIiwiLl8yd2ZxT3pXQm9Bbl9LN2dvcXZqWEplIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtaW5wdXQtYmFja2dyb3VuZC1jb2xvciwgI2VkZWRlZCk7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29udGFpbjogc3RyaWN0O1xuICBmb250LXNpemU6IHZhcihcbiAgICAtLXRoZW1lLXRleHQtaW5wdXQtZm9udC1zaXplLW1lZGl1bSxcbiAgICB2YXIoLS10aGVtZS1mb250LXNpemUsIDE1cHgpXG4gICk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS10aGVtZS1pbnB1dC1mb250LXdlaWdodCwgNDAwKTtcbiAgaGVpZ2h0OiB2YXIoLS10aGVtZS10ZXh0LWlucHV0LWhlaWdodC1tZWRpdW0sIDQxcHgpO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAwIDFlbTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5fMndmcU96V0JvQW5fSzdnb3F2alhKZS5fMWE0UU9WSkIwelczVXJmXzVocU5qaiB7XG4gIGhlaWdodDogdmFyKC0tdGhlbWUtdGV4dC1pbnB1dC1oZWlnaHQtc21hbGwsIDMwcHgpO1xuICBmb250LXNpemU6IHZhcigtLXRoZW1lLXRleHQtaW5wdXQtZm9udC1zaXplLXNtYWxsLCAwLjc1cmVtKTtcbn1cblxuLl8yd2ZxT3pXQm9Bbl9LN2dvcXZqWEplLl8zVUpvZThubHB6aFZUbUMwOVRWc28tIHtcbiAgaGVpZ2h0OiB2YXIoLS10aGVtZS10ZXh0LWlucHV0LWhlaWdodC1tZWRpdW0sIDQxcHgpO1xuICBmb250LXNpemU6IHZhcihcbiAgICAtLXRoZW1lLXRleHQtaW5wdXQtZm9udC1zaXplLW1lZGl1bSxcbiAgICB2YXIoLS10aGVtZS1mb250LXNpemUsIDE1cHgpXG4gICk7XG59XG5cbi5fMndmcU96V0JvQW5fSzdnb3F2alhKZS5fM0RRNTJRZF8xSzRfVnh4VnY3MjhTWCB7XG4gIGhlaWdodDogdmFyKC0tdGhlbWUtdGV4dC1pbnB1dC1oZWlnaHQtbGFyZ2UsIDU0cHgpO1xuICBmb250LXNpemU6IHZhcigtLXRoZW1lLXRleHQtaW5wdXQtZm9udC1zaXplLXNtYWxsLCAxLjI1cmVtKTtcbn1cblxuLl8yd2ZxT3pXQm9Bbl9LN2dvcXZqWEplOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtaW5wdXQtYmFja2dyb3VuZC1jb2xvci1mb2N1cywgI2UzZTNlMyk7XG59XG5cbi5fMzFvQUFPRV9kdkdvQXo5cUptbzhFRyB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tdGhlbWUtaW5wdXQtbGFiZWwtZm9udC1zaXplLCAwLjc1cmVtKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLXRoZW1lLWlucHV0LWxhYmVsLWZvbnQtZmFtaWx5LCBzYW5zLXNlcmlmKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAyZW07XG59XG4iLCIuXzNzQnNfRVJYVjNrMFNRTUdVeTJXajQge1xuICAtd2Via2l0LWFuaW1hdGlvbjogXzFfeGp0TGVVTW9FWE5BLXFPRVpoY3ggMC41cyBlYXNlLWluLW91dCBib3RoO1xuICBhbmltYXRpb246IF8xX3hqdExlVU1vRVhOQS1xT0VaaGN4IDAuNXMgZWFzZS1pbi1vdXQgYm90aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtdG9hc3QtYmFja2dyb3VuZC1jb2xvciwgI2ZmZik7XG4gIGJveC1zaGFkb3c6IHZhcigtLXRoZW1lLXRvYXN0LXNoYWRvdywgMCAwIDE1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTUpKTtcbiAgY29udGFpbjogc3RyaWN0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogdmFyKC0tdGhlbWUtdG9hc3QtaGVpZ2h0LCA2MHB4KTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtaW4td2lkdGg6IHZhcigtLXRoZW1lLXRvYXN0LW1pbi13aWR0aCwgNDB2dyk7XG59XG5cbi5fMTBsQkVUQ1UzVU5GUjhweTFxMXEtaCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDE7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogdmFyKC0tdGhlbWUtdG9hc3QtZm9udC1zaXplLCAwLjc1cmVtKTtcbiAgcGFkZGluZzogdmFyKC0tdGhlbWUtdG9hc3QtcGFkZGluZywgMTBweCA2MHB4IDEwcHggMjVweCk7XG59XG5cbi5fMTBsQkVUQ1UzVU5GUjhweTFxMXEtaCBoMSxcbmgyLFxuaDMsXG5oNCB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tdGhlbWUtdG9hc3QtaGVhZGluZy1mb250LXNpemUsIDEuMjVyZW0pO1xuICBsaW5lLWhlaWdodDogMS4zNWVtO1xuICBtYXJnaW46IDA7XG59XG5cbi5fM0NpMHdwT2JrNm9xZjdkd2tIc0ZXbyB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLkZFV0RuRHNQLTlBOUpIRzIwcUJTNSB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5GRVdEbkRzUC05QTlKSEcyMHFCUzUgPiAqIHtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLXRoZW1lLWJ1dHRvbi1nYXAsIDdweCk7XG59XG5cbi5GRVdEbkRzUC05QTlKSEcyMHFCUzUgPiAqOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IG5vbmU7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBfMV94anRMZVVNb0VYTkEtcU9FWmhjeCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIF8xX3hqdExlVU1vRVhOQS1xT0VaaGN4IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG4iLCIuXzNGOGNKVTF3bUttYnJqaWRnLU8zenAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgYm90dG9tOiBjYWxjKHZhcigtLXRoZW1lLWJ1dHRvbi1oZWlnaHQsIDMwcHgpICogMS41KTtcbiAgei1pbmRleDogMjA7XG59XG5cbi5fM0Y4Y0pVMXdtS21icmppZGctTzN6cCA+ICoge1xuICBtYXJnaW46IHZhcigtLXRoZW1lLXRvYXN0LW1hcmdpbiwgNXB4KTtcbn1cbiIsIi5fMkVRQmZyNXc4aDF4MWJxLTJmcDZ3VCB7XG4gIGNvbnRhaW46IHN0cmljdDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uXzJFUUJmcjV3OGgxeDFicS0yZnA2d1QuXzNHUk1wbUdrX1BxSVRjVXYwTmZtdDMge1xuICBjb250YWluOiBjb250ZW50O1xufVxuXG4uXzJ0WmZYa0VoQ2t3QXpmYUdfQlZuMEIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLl8ydFpmWGtFaENrd0F6ZmFHX0JWbjBCLl8zT1lIZmJ6YUwzUUhhbldaQmo4UnhPIHtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5fMnRaZlhrRWhDa3dBemZhR19CVm4wQi5fM0lfYzdzaGNTcnRHX0Z4dnZVMkllRSB7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5fMnRaZlhrRWhDa3dBemZhR19CVm4wQi5fMVo3ZEw5dUVkMEtzeDNDa3JaaHNCOCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uXzJ0WmZYa0VoQ2t3QXpmYUdfQlZuMEIuXzF6YnJEWU8wZllGSlZjN3h2c1RZaTYge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5fMm9zWGQ3U2t3RjBMaC0yeWlxdVlRTSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=*/
|
|
1191
|
+
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9CdXR0b24vQnV0dG9uLm1vZHVsZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvQnV0dG9uTGluay9CdXR0b25MaW5rLm1vZHVsZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvQ29sb3JTd2F0Y2gvQ29sb3JTd2F0Y2gubW9kdWxlLmNzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9Db2xvclBpY2tlci9Db2xvclBpY2tlci5tb2R1bGUuY3NzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL01vZGFsL01vZGFsLm1vZHVsZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvQ29uZmlybWF0aW9uTW9kYWwvQ29uZmlybWF0aW9uTW9kYWwubW9kdWxlLmNzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9GbG9hdGluZ1BhbmVsL0Zsb2F0aW5nUGFuZWwubW9kdWxlLmNzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9JY29uL0ljb24ubW9kdWxlLmNzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9JY29uQnV0dG9uL0ljb25CdXR0b24ubW9kdWxlLmNzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9JY29uQnV0dG9uTGluay9JY29uQnV0dG9uTGluay5tb2R1bGUuY3NzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL0ltYWdlL0ltYWdlLm1vZHVsZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvTGlzdFZpZXcvTGlzdFZpZXcubW9kdWxlLmNzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9MaXN0Vmlldy9MaXN0Vmlld0l0ZW0ubW9kdWxlLmNzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9NZW51L01lbnUubW9kdWxlLmNzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9NZW51L01lbnVDb250YWluZXIubW9kdWxlLmNzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9NZW51L01lbnVJdGVtLm1vZHVsZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvTWVudS9NZW51TGlua0l0ZW0ubW9kdWxlLmNzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9PdmVybGF5L092ZXJsYXkubW9kdWxlLmNzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9UZXh0SW5wdXQvVGV4dElucHV0Lm1vZHVsZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvVG9hc3QvVG9hc3QubW9kdWxlLmNzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9Ub2FzdC9Ub2FzdENvbnRhaW5lci5tb2R1bGUuY3NzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL1ZpZGVvL1ZpZGVvLm1vZHVsZS5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUN4R0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ25IQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQzlDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQ2RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDN0NBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ3JDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQzlIQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQzdCQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQ25GQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FDL0VBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUN2RkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQzNCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUNSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ3JGQTtBQUNBO0FBQ0E7QUFDQTs7QUNIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUMzQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FDM0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUN4QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUM1Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUM3RUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FDZEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5NOV9lZ0VDOG1zdTEzNW9QR1ZkSWYge1xuICAtLWJ1dHRvbi1zaXplOiB2YXIoLS10aGVtZS1idXR0b24taGVpZ2h0LW1lZGl1bSwgNDFweCk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtYnV0dG9uLWJhY2tncm91bmQtY29sb3IsICNmZmYpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10aGVtZS1idXR0b24tYm9yZGVyLWNvbG9yLCAjZTJlMmUyKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tdGhlbWUtYnV0dG9uLXNoYWRvdywgMCAwIDEycHggMCByZ2JhKDAsIDAsIDAsIDAuMSkpO1xuICBjb2xvcjogdmFyKC0tdGhlbWUtYnV0dG9uLWZvcmVncm91bmQtY29sb3IsICMwZTBlMGYpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogdmFyKC0tdGhlbWUtYnV0dG9uLWZvbnQtZmFtaWx5LCBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmKTtcbiAgZm9udC1zaXplOiB2YXIoLS10aGVtZS1idXR0b24tZm9udC1zaXplLW1lZGl1bSwgdmFyKC0tdGhlbWUtZm9udC1zaXplLCAxNXB4KSk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBoZWlnaHQ6IHZhcigtLWJ1dHRvbi1zaXplKTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDEuMzVlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1vdXQ7XG4gIHRleHQtYWxpZ246IC13ZWJraXQtY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uTTlfZWdFQzhtc3UxMzVvUEdWZElmOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLk05X2VnRUM4bXN1MTM1b1BHVmRJZjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yLCAjZGRkKTtcbn1cblxuLk05X2VnRUM4bXN1MTM1b1BHVmRJZjphY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xufVxuXG4uTTlfZWdFQzhtc3UxMzVvUEdWZElmOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC4zO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLk05X2VnRUM4bXN1MTM1b1BHVmRJZi5SU1JiVGc4WWM0LXM4azZxVV92Q2cge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uTTlfZWdFQzhtc3UxMzVvUEdWZElmLl8xYk5RaGJad0xBOEVyTG13ZFFpdEplIHtcbiAgLS1idXR0b24tc2l6ZTogdmFyKC0tdGhlbWUtYnV0dG9uLWhlaWdodC1zbWFsbCwgMzBweCk7XG5cbiAgZm9udC1zaXplOiB2YXIoLS10aGVtZS1idXR0b24tZm9udC1zaXplLXNtYWxsLCAwLjc1cmVtKTtcbn1cblxuLk05X2VnRUM4bXN1MTM1b1BHVmRJZi5fMkR3TEZELTRnRHo5SEVBQWl3V0pQcSB7XG4gIC0tYnV0dG9uLXNpemU6IHZhcigtLXRoZW1lLWJ1dHRvbi1oZWlnaHQtbGFyZ2UsIDU0cHgpO1xufVxuXG4uTTlfZWdFQzhtc3UxMzVvUEdWZElmLl8zMUNmbVRVWXBFaDFoWnZjdFE5bEs0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtYnV0dG9uLWZvcmVncm91bmQtY29sb3IsICMwZTBlMGYpO1xuICBjb2xvcjogdmFyKC0tdGhlbWUtYnV0dG9uLWJhY2tncm91bmQtY29sb3IsICNmZmYpO1xufVxuXG4uTTlfZWdFQzhtc3UxMzVvUEdWZElmLl8yYnEzMXFLRDdCNnI2Q1RDT0wzZHJXIHtcbiAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1idXR0b24tc2l6ZSkgLyAyKTtcbiAgcGFkZGluZzogMCBjYWxjKHZhcigtLWJ1dHRvbi1zaXplKSAqIDAuNik7XG59XG5cbi5NOV9lZ0VDOG1zdTEzNW9QR1ZkSWYuXzJicTMxcUtEN0I2cjZDVENPTDNkclcuXzJlVUNXUU1FVE9naVh1aWI3WGZUaFoge1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLXRoZW1lLWJ1dHRvbi1yb3VuZGVkLW9mZnNldCwgLTRweCk7XG59XG5cbi5NOV9lZ0VDOG1zdTEzNW9QR1ZkSWYuXzJicTMxcUtEN0I2cjZDVENPTDNkclcuRzhvX09NRFVGc0VRMXl0VTdvVVlHIHtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLXRoZW1lLWJ1dHRvbi1yb3VuZGVkLW9mZnNldCwgLTRweCk7XG59XG5cbi5NOV9lZ0VDOG1zdTEzNW9QR1ZkSWYuXzJ2a25oVUZBSUdtalhzN3Rna0FDN0kge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uTTlfZWdFQzhtc3UxMzVvUEdWZElmLl8ycDBHcGRtUEtJRkNVZXM1ODRZSGVWIHtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4uTTlfZWdFQzhtc3UxMzVvUEdWZElmLl84dk1sU1JIXzlIb1JHSmg4U3drYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi5NOV9lZ0VDOG1zdTEzNW9QR1ZkSWYublo5ck9ad3pHWFZJM2F5UmdBM1FDIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5NOV9lZ0VDOG1zdTEzNW9QR1ZkSWYuXzF5OGlmYjk1c3BUTFdHQW1zYncxUjIge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5NOV9lZ0VDOG1zdTEzNW9QR1ZkSWYuXzNjTzQ5SkVMTkt0R3lhRnhSbHNoeU8ge1xuICBwYWRkaW5nOiAwO1xufVxuXG4ubzhkN1lvVDgzdW1lUFBTRnpLMzFZIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgY29sdW1uLWdhcDogMWVtO1xuICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogbWluLWNvbnRlbnQ7XG4gIGhlaWdodDogMTAwJTtcbn1cbiIsIi5fM2VWQmdta0c2aGpWb2ttNVh5NFVNUSB7XG4gIC0tYnV0dG9uLXNpemU6IHZhcigtLXRoZW1lLWJ1dHRvbi1oZWlnaHQtbWVkaXVtLCA0MXB4KTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtYnV0dG9uLWJhY2tncm91bmQtY29sb3IsICNmZmYpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10aGVtZS1idXR0b24tYm9yZGVyLWNvbG9yLCAjZTJlMmUyKTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNoYWRvdzogdmFyKC0tdGhlbWUtYnV0dG9uLXNoYWRvdywgMCAwIDEycHggMCByZ2JhKDAsIDAsIDAsIDAuMSkpO1xuICBjb2xvcjogdmFyKC0tdGhlbWUtYnV0dG9uLWZvcmVncm91bmQtY29sb3IsICMwZTBlMGYpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS10aGVtZS1idXR0b24tZm9udC1mYW1pbHksIGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWYpO1xuICBmb250LXNpemU6IHZhcigtLXRoZW1lLWJ1dHRvbi1mb250LXNpemUtbWVkaXVtLCB2YXIoLS10aGVtZS1mb250LXNpemUsIDE1cHgpKTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGhlaWdodDogdmFyKC0tYnV0dG9uLXNpemUpO1xuICB3aWR0aDogbWluLWNvbnRlbnQ7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCAxLjM1ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjFzIGVhc2Utb3V0O1xuICB0ZXh0LWFsaWduOiAtd2Via2l0LWNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLl8zZVZCZ21rRzZoalZva201WHk0VU1ROmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLl8zZVZCZ21rRzZoalZva201WHk0VU1ROmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtYnV0dG9uLWhvdmVyLWJhY2tncm91bmQtY29sb3IsICNkZGQpO1xufVxuXG4uXzNlVkJnbWtHNmhqVm9rbTVYeTRVTVE6YWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbn1cblxuLl8zZVZCZ21rRzZoalZva201WHk0VU1ROmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC4zO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLl8zZVZCZ21rRzZoalZva201WHk0VU1RLl8zRjZoTUVRa0pneXdVa3QxZndtVHN5IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4uXzNlVkJnbWtHNmhqVm9rbTVYeTRVTVEuXzhJOWZobnpiTXZDcmw1S1BqOWYwIHtcbiAgLS1idXR0b24tc2l6ZTogdmFyKC0tdGhlbWUtYnV0dG9uLWhlaWdodC1zbWFsbCwgMzBweCk7XG5cbiAgZm9udC1zaXplOiB2YXIoLS10aGVtZS1idXR0b24tZm9udC1zaXplLXNtYWxsLCAwLjc1cmVtKTtcbn1cblxuLl8zZVZCZ21rRzZoalZva201WHk0VU1RLmNzajRQS1FnZFBCZUY3UmQ1Wi1XUSB7XG4gIC0tYnV0dG9uLXNpemU6IHZhcigtLXRoZW1lLWJ1dHRvbi1oZWlnaHQtbWVkaXVtLCA0MXB4KTtcblxuICBmb250LXNpemU6IHZhcigtLXRoZW1lLWJ1dHRvbi1mb250LXNpemUtbWVkaXVtLCB2YXIoLS10aGVtZS1mb250LXNpemUsIDE1cHgpKTtcbn1cblxuLl8zZVZCZ21rRzZoalZva201WHk0VU1RLl8zX1N3cW1EV09Hdjg3N2lIQUNuSnBDIHtcbiAgLS1idXR0b24tc2l6ZTogdmFyKC0tdGhlbWUtYnV0dG9uLWhlaWdodC1sYXJnZSwgNTRweCk7XG59XG5cbi5fM2VWQmdta0c2aGpWb2ttNVh5NFVNUS5fMXhPYTNDQlJIelBDUldOc2lKNjVhQyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLWJ1dHRvbi1mb3JlZ3JvdW5kLWNvbG9yLCAjMGUwZTBmKTtcbiAgY29sb3I6IHZhcigtLXRoZW1lLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yLCAjZmZmKTtcbn1cblxuLl8zZVZCZ21rRzZoalZva201WHk0VU1RLl8zVUdsT0l0ektva1ZnMHdHSDBlSWxYIHtcbiAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1idXR0b24tc2l6ZSkgLyAyKTtcbiAgcGFkZGluZzogMCBjYWxjKHZhcigtLWJ1dHRvbi1zaXplKSAqIDAuNik7XG59XG5cbi5fM2VWQmdta0c2aGpWb2ttNVh5NFVNUS5fM1VHbE9JdHpLb2tWZzB3R0gwZUlsWC5fMTN0UHNwNmRmQTFUd2IxTU1IUmlHVCB7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tdGhlbWUtYnV0dG9uLXJvdW5kZWQtb2Zmc2V0LCAtNHB4KTtcbn1cblxuLl8zZVZCZ21rRzZoalZva201WHk0VU1RLl8zVUdsT0l0ektva1ZnMHdHSDBlSWxYLk5JNW42YkVWUkNRUHk2QU9Bc1ExcSB7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS10aGVtZS1idXR0b24tcm91bmRlZC1vZmZzZXQsIC00cHgpO1xufVxuXG4uXzNlVkJnbWtHNmhqVm9rbTVYeTRVTVEuZ0lZOWl1dkMyVld4Y3Z3d0NtYUpKIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLl8zZVZCZ21rRzZoalZva201WHk0VU1RLl8zWGZsaDNRMUFablRPRDBjdHF1STZ3IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5fM2VWQmdta0c2aGpWb2ttNVh5NFVNUS5fMkZiUkRFR1NfN2VNVWNKMFZpT0JVMCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uXzNlVkJnbWtHNmhqVm9rbTVYeTRVTVEuXzFyUG0tdDVaV3dyUy1MOWw3ejY2amIge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5fM2VWQmdta0c2aGpWb2ttNVh5NFVNUS5fM0o4RGVhTHE1aXczQXA3cUtKa1A5QiB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5fM2VWQmdta0c2aGpWb2ttNVh5NFVNUS5fM2NFUXMtS19tU2hGTkRnRFAzMldkNiB7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLl8xVlR5ZlR3VmxvQWNad1lDWnlzbHNKIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgY29sdW1uLWdhcDogMWVtO1xuICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IG1pbi1jb250ZW50O1xuICBoZWlnaHQ6IDEwMCU7XG59XG4iLCIuXzEzc3MxeHNNTml6dkVnUF9oeEVWOEIge1xuICAtLWNvbG9yLXN3YXRjaC1zaXplOiB2YXIoLS10aGVtZS1idXR0b24taGVpZ2h0LCA0MXB4KTtcbiAgLS1jb2xvci1zd2F0Y2gtc2hhZG93OiB2YXIoXG4gICAgLS10aGVtZS1idXR0b24tc2hhZG93LFxuICAgIDAgMCAxMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjEpXG4gICk7XG5cbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jb2xvci1zd2F0Y2gtc2l6ZSk7XG4gIGJveC1zaGFkb3c6IHZhcigtLWNvbG9yLXN3YXRjaC1zaGFkb3cpO1xuICBjb250YWluOiBzdHJpY3Q7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgaGVpZ2h0OiB2YXIoLS1jb2xvci1zd2F0Y2gtc2l6ZSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjFzIGVhc2Utb3V0O1xuICB3aWR0aDogdmFyKC0tY29sb3Itc3dhdGNoLXNpemUpO1xufVxuXG4uXzEzc3MxeHNNTml6dkVnUF9oeEVWOEI6aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICBib3gtc2hhZG93OiB2YXIoLS10aGVtZS1idXR0b24taG92ZXItc2hhZG93LCAwIDAgMTVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNSkpO1xufVxuXG4uXzEzc3MxeHNNTml6dkVnUF9oeEVWOEI6bm90KC5MNmZBdDZSWll6X3ozd1BialpFeEgpOmFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcbn1cblxuLl8xM3NzMXhzTU5penZFZ1BfaHhFVjhCLkw2ZkF0NlJaWXpfejN3UGJqWkV4SCB7XG4gIC0tY29sb3Itc3dhdGNoLXNpemU6IGNhbGModmFyKC0tdGhlbWUtYnV0dG9uLWhlaWdodCwgNDFweCkgKiAxLjUpO1xuXG4gIGN1cnNvcjogYXV0bztcbn1cblxuLypcbiAqIFNlZSBodHRwczovL2dvbWFrZXRoaW5ncy5jb20vaGlkZGVuLWNvbnRlbnQtZm9yLWJldHRlci1hMTF5LyNoaWRpbmctdGhlLWxpbmtcbiovXG4uXzN2SjVteHB6YVlzS2F4Zi04dEIzMXgge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlci13aWR0aDogMDtcbn1cbiIsIi5fMzFGd0hfbldyNzJrM3B1Z0FwSnViOSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGNvbnRhaW46IGxheW91dDtcbiAgZ3JpZC1nYXA6IHZhcigtLXRoZW1lLWJ1dHRvbi1nYXAsIDEwcHgpO1xufVxuXG4uXzMxRndIX25XcjcyazNwdWdBcEp1YjkuUWEtQnB1VFQya3hwbVZfQVFnQ2pIIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbn1cblxuLl8zMUZ3SF9uV3I3MmszcHVnQXBKdWI5Ll8yeDRTQW5ib3B5Wm1reWNXTEMwRVhrIHtcbiAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcbiAganVzdGlmeS1pdGVtczogY2VudGVyO1xufVxuIiwiLl8xeXhDYlFKcVN0VXZ5dHZLRWVOQzNuIHtcbiAgYm90dG9tOiAwO1xuICBjb250YWluOiBzdHJpY3Q7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiA5O1xufVxuXG5Ac3VwcG9ydHMgKC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBub25lKSBvciAoYmFja2Ryb3AtZmlsdGVyOiBub25lKSB7XG4gIC5fMXl4Q2JRSnFTdFV2eXR2S0VlTkMzbiB7XG4gICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTJweCk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEycHgpO1xuICB9XG59XG5cbi8qIHNsaWdodGx5IHRyYW5zcGFyZW50IGZhbGxiYWNrIGZvciBGaXJlZm94IChub3Qgc3VwcG9ydGluZyBiYWNrZHJvcC1maWx0ZXIpICovXG5Ac3VwcG9ydHMgbm90ICgoLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IG5vbmUpIG9yIChiYWNrZHJvcC1maWx0ZXI6IG5vbmUpKSB7XG4gIC5fMXl4Q2JRSnFTdFV2eXR2S0VlTkMzbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKFxuICAgICAgLS10aGVtZS1tb2RhbC1vdmVybGF5LWNvbG9yLFxuICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpXG4gICAgKTtcbiAgfVxufVxuXG4uRDhTakJ4M2lrejYzNll1Ym5IWUFZIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtbW9kYWwtYmFja2dyb3VuZC1jb2xvciwgI2ZmZik7XG4gIGJveC1zaGFkb3c6IHZhcigtLXRoZW1lLW1vZGFsLXNoYWRvdywgMCAwIDUwcHggMCByZ2JhKDAsIDAsIDAsIDAuMikpO1xuICBvdXRsaW5lOiBub25lO1xuICBvdmVyZmxvdzogYXV0bztcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgei1pbmRleDogMTA7XG59XG5cbi5vOFZSVnhNcnMxeFhhdkFEeXhqTEcge1xuICBib3R0b206IHZhcigtLXRoZW1lLW91dGVyLXBhZGRpbmcsIDIxcHgpO1xuICBsZWZ0OiB2YXIoLS10aGVtZS1vdXRlci1wYWRkaW5nLCAyMXB4KTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMTtcbn1cbiIsIi5ra2dIb0JRaEZQc0tqX3gxWkZkUkgge1xuICBjb250YWluOiBjb250ZW50O1xuICBtaW4td2lkdGg6IDMzdnc7XG59XG5cbi5fMVd1dkhELUdkWExydHF3YTA0VzFxeSB7XG4gIHBhZGRpbmc6IDFlbSB2YXIoLS10aGVtZS1jb25maXJtYXRpb24tbW9kYWwtaG9yaXpvbnRhbC1wYWRkaW5nLCAxLjVyZW0pIDEuNWVtXG4gICAgdmFyKC0tdGhlbWUtY29uZmlybWF0aW9uLW1vZGFsLWhvcml6b250YWwtcGFkZGluZywgMS41cmVtKTtcbiAgZm9udC1zaXplOiB2YXIoLS10aGVtZS1jb25maXJtYXRpb24tbW9kYWwtaGVhZGVyLWZvbnQtc2l6ZSwgMnJlbSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbjogMDtcbn1cblxuLl8yN2VVeVNRcXZxNXFsb05DbElqSVNUIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcbiAgcm93LWdhcDogMWVtO1xuICBwYWRkaW5nOiAycmVtIHZhcigtLXRoZW1lLWNvbmZpcm1hdGlvbi1tb2RhbC1ob3Jpem9udGFsLXBhZGRpbmcsIDEuNXJlbSk7XG59XG5cbi5fMjdlVXlTUXF2cTVxbG9OQ2xJaklTVC5fMmd0QlhMOVBGU3BIc1cwQTl4ZDU1UyB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5fNWdJcHlGM1g1dGhQUUFuc0FDNHo5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogY2FsYyhcbiAgICAgIHZhcigtLXRoZW1lLWNvbmZpcm1hdGlvbi1tb2RhbC1ob3Jpem9udGFsLXBhZGRpbmcsIDEuNXJlbSkgKiAxLjI1XG4gICAgKVxuICAgIHZhcigtLXRoZW1lLWNvbmZpcm1hdGlvbi1tb2RhbC1ob3Jpem9udGFsLXBhZGRpbmcsIDEuNXJlbSk7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLnN3c29DaWkxdzR4Tmw3aW9EVmtPNSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG4gIGNvbHVtbi1nYXA6IHZhcigtLXRoZW1lLWJ1dHRvbi1nYXAsIDdweCk7XG59XG4iLCIuYTZOSE8yQ1ZWQ2Zpbml5ZTJYTE4tIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250YWluOiBsYXlvdXQ7XG4gIG1heC1oZWlnaHQ6IDEwMHZoO1xuICBtYXgtd2lkdGg6IDEwMHZ3O1xuICB6LWluZGV4OiAzO1xufVxuXG4uYTZOSE8yQ1ZWQ2Zpbml5ZTJYTE4tLl8zUlNnQjc2ckVCbmlQYzJZY3I4WmJ2IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLmE2TkhPMkNWVkNmaW5peWUyWExOLS5fMUprWDE1aWdjbG5ibTVzUlNjV1ZEWSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5hNk5ITzJDVlZDZmluaXllMlhMTi0uTU1RMXlqRWFmV2tZRlZESE1wVGJJIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xufVxuXG4uYTZOSE8yQ1ZWQ2Zpbml5ZTJYTE4tLl8zbTJNX05hcmM1eHdMYXk4SEpsamtjIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLmE2TkhPMkNWVkNmaW5peWUyWExOLS5fMXJmYTQ5emhaeE5pZno2NE9xYl82UCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uYTZOSE8yQ1ZWQ2Zpbml5ZTJYTE4tLl9rVWFsbkRlRWZ2enFBamkwQU1EbyB7XG4gIHRvcDogdmFyKC0tdGhlbWUtb3V0ZXItcGFkZGluZywgMjFweCk7XG59XG5cbi5hNk5ITzJDVlZDZmluaXllMlhMTi0uVzhKQUl3TGpPOEpRR2J2aVpwUFF3IHtcbiAgdG9wOiAwO1xufVxuXG4uYTZOSE8yQ1ZWQ2Zpbml5ZTJYTE4tLl8zb3BKN0ViNnRqMzk0dVY4YTU3aXh6IHtcbiAgdG9wOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi5hNk5ITzJDVlZDZmluaXllMlhMTi0uXzMtdmJ3anAwYVBjTEVWMVN4MElDZ1Age1xuICByaWdodDogdmFyKC0tdGhlbWUtb3V0ZXItcGFkZGluZywgMjFweCk7XG59XG5cbi5hNk5ITzJDVlZDZmluaXllMlhMTi0uXzNYTkZ5NVpvTUNvWUJJYWJlR040QlEge1xuICByaWdodDogMDtcbn1cblxuLmE2TkhPMkNWVkNmaW5peWUyWExOLS5fMTJjM0N6VU1RRThBRzNBTDhIaWtpMiB7XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbn1cblxuLmE2TkhPMkNWVkNmaW5peWUyWExOLS5fM2dlQkVOSDVvRXJxR2R0LVF5SG5QaCB7XG4gIGJvdHRvbTogdmFyKC0tdGhlbWUtb3V0ZXItcGFkZGluZywgMjFweCk7XG59XG5cbi5hNk5ITzJDVlZDZmluaXllMlhMTi0uXzNfc2FNNEdzMzJuUmJJSEh4SUViRjYge1xuICBib3R0b206IDA7XG59XG5cbi5hNk5ITzJDVlZDZmluaXllMlhMTi0uXzJQTEU0ZG1HaG5jZ2stbEVub1U0a3Yge1xuICBib3R0b206IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xufVxuXG4uYTZOSE8yQ1ZWQ2Zpbml5ZTJYTE4tLl8xaVNCbnlaZ1BlRlVXb000aTZkU3BVIHtcbiAgbGVmdDogdmFyKC0tdGhlbWUtb3V0ZXItcGFkZGluZywgMjFweCk7XG59XG5cbi5hNk5ITzJDVlZDZmluaXllMlhMTi0uXzFmWDE5cUlPU2huMm81dXVzUnpUZ3Mge1xuICBsZWZ0OiAwO1xufVxuXG4uYTZOSE8yQ1ZWQ2Zpbml5ZTJYTE4tLktCSERvY2t1SFRFT0tNR096YWRYaSB7XG4gIGxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLmE2TkhPMkNWVkNmaW5peWUyWExOLS5fMzF0NnRIUko1cy01RGNETEZUS2gxbSB7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4uYTZOSE8yQ1ZWQ2Zpbml5ZTJYTE4tLl8yaHE3ZmtEWEh4cnh6MnQ3TExnNF85IHtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLmE2TkhPMkNWVkNmaW5peWUyWExOLS5fMzF0NnRIUko1cy01RGNETEZUS2gxbS5fMmhxN2ZrRFhIeHJ4ejJ0N0xMZzRfOSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4uYTZOSE8yQ1ZWQ2Zpbml5ZTJYTE4tLl8zMXQ2dEhSSjVzLTVEY0RMRlRLaDFtLmE2TkhPMkNWVkNmaW5peWUyWExOLS5fM29wSjdFYjZ0ajM5NHVWOGE1N2l4eiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4uYTZOSE8yQ1ZWQ2Zpbml5ZTJYTE4tLl8zMXQ2dEhSSjVzLTVEY0RMRlRLaDFtLmE2TkhPMkNWVkNmaW5peWUyWExOLS5fMlBMRTRkbUdobmNnay1sRW5vVTRrdiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDUwJSk7XG59XG5cbi5hNk5ITzJDVlZDZmluaXllMlhMTi0uXzJocTdma0RYSHhyeHoydDdMTGc0XzkuYTZOSE8yQ1ZWQ2Zpbml5ZTJYTE4tLktCSERvY2t1SFRFT0tNR096YWRYaSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4uYTZOSE8yQ1ZWQ2Zpbml5ZTJYTE4tLl8yaHE3ZmtEWEh4cnh6MnQ3TExnNF85LmE2TkhPMkNWVkNmaW5peWUyWExOLS5fMTJjM0N6VU1RRThBRzNBTDhIaWtpMiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7XG59XG5cbi5hNk5ITzJDVlZDZmluaXllMlhMTi0uS0JIRG9ja3VIVEVPS01HT3phZFhpLmE2TkhPMkNWVkNmaW5peWUyWExOLS5fM29wSjdFYjZ0ajM5NHVWOGE1N2l4eiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4uYTZOSE8yQ1ZWQ2Zpbml5ZTJYTE4tLl8xMmMzQ3pVTVFFOEFHM0FMOEhpa2kyLmE2TkhPMkNWVkNmaW5peWUyWExOLS5fM29wSjdFYjZ0ajM5NHVWOGE1N2l4eiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7XG59XG5cbi5hNk5ITzJDVlZDZmluaXllMlhMTi0uS0JIRG9ja3VIVEVPS01HT3phZFhpLmE2TkhPMkNWVkNmaW5peWUyWExOLS5fMlBMRTRkbUdobmNnay1sRW5vVTRrdiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDUwJSk7XG59XG5cbi5hNk5ITzJDVlZDZmluaXllMlhMTi0uXzEyYzNDelVNUUU4QUczQUw4SGlraTIuYTZOSE8yQ1ZWQ2Zpbml5ZTJYTE4tLl8yUExFNGRtR2huY2drLWxFbm9VNGt2IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCA1MCUpO1xufVxuIiwiLnVoOHprbVFwNXliazVXSlNsYTY5RCB7XG4gIC0tc2l6ZTogdmFyKC0tdGhlbWUtaWNvbi1oZWlnaHQtbWVkaXVtLCAyMnB4KTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGFpbjogc3RyaWN0O1xuICBoZWlnaHQ6IHZhcigtLXNpemUpO1xuICB3aWR0aDogdmFyKC0tc2l6ZSk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMC4ycyAtd2Via2l0LWZpbHRlciBlYXNlLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiAwLjJzIC1tb3otZmlsdGVyIGVhc2Utb3V0O1xuICAtbW96LXRyYW5zaXRpb246IDAuMnMgZmlsdGVyIGVhc2Utb3V0O1xuICAtbXMtdHJhbnNpdGlvbjogMC4ycyAtbXMtZmlsdGVyIGVhc2Utb3V0O1xuICAtby10cmFuc2l0aW9uOiAwLjJzIC1vLWZpbHRlciBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbjogMC4ycyBmaWx0ZXIgZWFzZS1vdXQsIDAuMnMgLXdlYmtpdC1maWx0ZXIgZWFzZS1vdXQ7XG59XG5cbi51aDh6a21RcDV5Yms1V0pTbGE2OUQuXzlESUN0cW1RU25MUGptMVhJN1lWcyB7XG4gIC0tc2l6ZTogdmFyKC0tdGhlbWUtaWNvbi1oZWlnaHQtc21hbGwsIDE2cHgpO1xufVxuXG4udWg4emttUXA1eWJrNVdKU2xhNjlELnNKcHhmWWdpVHo3aWs2Sk9HdTF3aSB7XG4gIC0tc2l6ZTogdmFyKC0tdGhlbWUtaWNvbi1oZWlnaHQtbWVkaXVtLCAyMnB4KTtcbn1cblxuLnVoOHprbVFwNXliazVXSlNsYTY5RC5fMnJndWNBSDhCbmxpLWNtano5aTJDMiB7XG4gIC0tc2l6ZTogdmFyKC0tdGhlbWUtaWNvbi1oZWlnaHQtbGFyZ2UsIDI2cHgpO1xufVxuXG4udWg4emttUXA1eWJrNVdKU2xhNjlELkktZUk1cThyZDJiU3A5Qi1GaFV6YSB7XG4gIGZpbHRlcjogaW52ZXJ0KDEpO1xufVxuIiwiLl8yTVB1SjNBcHZyQXZyZXdqU1dHQUEyIHtcbiAgLS1pY29uLXNpemU6IHZhcigtLXRoZW1lLWljb24taGVpZ2h0LW1lZGl1bSwgMjNweCk7XG5cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtYnV0dG9uLWJhY2tncm91bmQtY29sb3IsICNmZmYpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10aGVtZS1idXR0b24tYm9yZGVyLWNvbG9yLCAjZTJlMmUyKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tdGhlbWUtYnV0dG9uLXNoYWRvdywgMCAwIDEycHggMCByZ2JhKDAsIDAsIDAsIDAuMSkpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMDtcbiAgaGVpZ2h0OiBtaW4tY29udGVudDtcbiAgd2lkdGg6IG1pbi1jb250ZW50O1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLWljb24tc2l6ZSkgLyAxLjUpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLW91dDtcbn1cblxuLl8yTVB1SjNBcHZyQXZyZXdqU1dHQUEyLmxPa29hbjdkYnAtZ29EdEpWdUs3QiB7XG4gIC0taWNvbi1zaXplOiB2YXIoLS10aGVtZS1pY29uLWhlaWdodC1zbWFsbCwgMTZweCk7XG59XG5cbi5fMk1QdUozQXB2ckF2cmV3alNXR0FBMi5fM2E5Y1d0c19ZN3gzcGFqazh1bU4zeiB7XG4gIC0taWNvbi1zaXplOiB2YXIoLS10aGVtZS1pY29uLWhlaWdodC1tZWRpdW0sIDIzcHgpO1xufVxuXG4uXzJNUHVKM0FwdnJBdnJld2pTV0dBQTIuXzJhRzZ6WHFURUtWY3ZCYWFuaUNOQnkge1xuICAtLWljb24tc2l6ZTogdmFyKC0tdGhlbWUtaWNvbi1oZWlnaHQtbGFyZ2UsIDM1cHgpO1xufVxuXG4uXzJNUHVKM0FwdnJBdnJld2pTV0dBQTIuXzJKWDAzNHFVVENvVGRXQzJwcEE0ODcge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0taWNvbi1zaXplKSAvIDEuMjUpO1xufVxuXG4uXzJNUHVKM0FwdnJBdnJld2pTV0dBQTIuXzJKWDAzNHFVVENvVGRXQzJwcEE0ODcuXzF3cEMtV1hnTDA2UUt4dFB6T3dOUksge1xuICBtYXJnaW4tdG9wOiB2YXIoLS10aGVtZS1idXR0b24tcm91bmRlZC1vZmZzZXQsIC00cHgpO1xufVxuXG4uXzJNUHVKM0FwdnJBdnJld2pTV0dBQTIuXzJKWDAzNHFVVENvVGRXQzJwcEE0ODcuTEl6clFDN3BvUVQ5alVSQnFNREtoIHtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS10aGVtZS1idXR0b24tcm91bmRlZC1vZmZzZXQsIC00cHgpO1xufVxuXG4uXzJNUHVKM0FwdnJBdnJld2pTV0dBQTIuXzJKWDAzNHFVVENvVGRXQzJwcEE0ODcuXzJpX3c1VUxrVUs3TFZ3NWhFTzk3RXcge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS10aGVtZS1idXR0b24tcm91bmRlZC1vZmZzZXQsIC00cHgpO1xufVxuXG4uXzJNUHVKM0FwdnJBdnJld2pTV0dBQTIuXzJKWDAzNHFVVENvVGRXQzJwcEE0ODcuXzM4ZUtsVFFUVjFZbG5FZTFHbU50UWsge1xuICBtYXJnaW4tbGVmdDogdmFyKC0tdGhlbWUtYnV0dG9uLXJvdW5kZWQtb2Zmc2V0LCAtNHB4KTtcbn1cblxuLl8yTVB1SjNBcHZyQXZyZXdqU1dHQUEyOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLl8yTVB1SjNBcHZyQXZyZXdqU1dHQUEyOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC4zO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLl8yTVB1SjNBcHZyQXZyZXdqU1dHQUEyOmFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG59XG5cbi5fMk1QdUozQXB2ckF2cmV3alNXR0FBMjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yLCAjZGRkKTtcbn1cblxuLl8yTVB1SjNBcHZyQXZyZXdqU1dHQUEyLl8yTmtaNTBya0EzZVpDeXNZOUZBcC1lIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtYnV0dG9uLWZvcmVncm91bmQtY29sb3IsICMwZTBlMGYpO1xuICBjb2xvcjogdmFyKC0tdGhlbWUtYnV0dG9uLWJhY2tncm91bmQtY29sb3IsICNmZmYpO1xufVxuXG4uXzJNUHVKM0FwdnJBdnJld2pTV0dBQTIuXzNVeTVIWmR2a1dmN2JpbFQwd3h3VmUge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uXzJNUHVKM0FwdnJBdnJld2pTV0dBQTIuXzJGNEh5OWxxNU9DckVwUFpQaDV4QUoge1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi5fMk1QdUozQXB2ckF2cmV3alNXR0FBMi5fMnU3cVRNZUU5RDVydGNzRWNTb0FZMyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xufVxuIiwiLl8xdWlmbUtOUER6ZHU1WURuaGd3UFFLIHtcbiAgLS1pY29uLXNpemU6IHZhcigtLXRoZW1lLWljb24taGVpZ2h0LW1lZGl1bSwgMjNweCk7XG5cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtYnV0dG9uLWJhY2tncm91bmQtY29sb3IsICNmZmYpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10aGVtZS1idXR0b24tYm9yZGVyLWNvbG9yLCAjZTJlMmUyKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tdGhlbWUtYnV0dG9uLXNoYWRvdywgMCAwIDEycHggMCByZ2JhKDAsIDAsIDAsIDAuMSkpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMDtcbiAgaGVpZ2h0OiBtaW4tY29udGVudDtcbiAgd2lkdGg6IG1pbi1jb250ZW50O1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLWljb24tc2l6ZSkgLyAxLjUpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLW91dDtcbn1cblxuLl8xdWlmbUtOUER6ZHU1WURuaGd3UFFLLnBmSGNZYWV3LUhySHRUTnVSNHY3aCB7XG4gIC0taWNvbi1zaXplOiB2YXIoLS10aGVtZS1pY29uLWhlaWdodC1zbWFsbCwgMTZweCk7XG59XG5cbi5fMXVpZm1LTlBEemR1NVlEbmhnd1BRSy5fMjZaOUZILUNOUHFmNTVaUlAxdm5hYiB7XG4gIC0taWNvbi1zaXplOiB2YXIoLS10aGVtZS1pY29uLWhlaWdodC1sYXJnZSwgMzVweCk7XG59XG5cbi5fMXVpZm1LTlBEemR1NVlEbmhnd1BRSy5fMnE3V3ZST2hObTNnc1JJUmFRUWVhVSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1pY29uLXNpemUpIC8gMS4yNSk7XG59XG5cbi5fMXVpZm1LTlBEemR1NVlEbmhnd1BRSy5fMnE3V3ZST2hObTNnc1JJUmFRUWVhVS53WnlfdnVsWmtNYldTWDBha2NaSEEge1xuICBtYXJnaW4tdG9wOiB2YXIoLS10aGVtZS1idXR0b24tcm91bmRlZC1vZmZzZXQsIC00cHgpO1xufVxuXG4uXzF1aWZtS05QRHpkdTVZRG5oZ3dQUUsuXzJxN1d2Uk9oTm0zZ3NSSVJhUVFlYVUuXzJqaGhwbTYwX3lQRWZ4US13YXpqLTUge1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLXRoZW1lLWJ1dHRvbi1yb3VuZGVkLW9mZnNldCwgLTRweCk7XG59XG5cbi5fMXVpZm1LTlBEemR1NVlEbmhnd1BRSy5fMnE3V3ZST2hObTNnc1JJUmFRUWVhVS5Ebm5yRzdaWG1USWhtV1Vjczk5bTEge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS10aGVtZS1idXR0b24tcm91bmRlZC1vZmZzZXQsIC00cHgpO1xufVxuXG4uXzF1aWZtS05QRHpkdTVZRG5oZ3dQUUsuXzJxN1d2Uk9oTm0zZ3NSSVJhUVFlYVUuXzFZZENnN1Q2WGpobXh3Y2pMTlNFYi0ge1xuICBtYXJnaW4tbGVmdDogdmFyKC0tdGhlbWUtYnV0dG9uLXJvdW5kZWQtb2Zmc2V0LCAtNHB4KTtcbn1cblxuLl8xdWlmbUtOUER6ZHU1WURuaGd3UFFLOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLl8xdWlmbUtOUER6ZHU1WURuaGd3UFFLOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC4zO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLl8xdWlmbUtOUER6ZHU1WURuaGd3UFFLOmFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG59XG5cbi5fMXVpZm1LTlBEemR1NVlEbmhnd1BRSzpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yLCAjZGRkKTtcbn1cblxuLl8xdWlmbUtOUER6ZHU1WURuaGd3UFFLLkhWMFItbHF3bXllcXNTMVo4cG9aUyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLWJ1dHRvbi1mb3JlZ3JvdW5kLWNvbG9yLCAjMGUwZTBmKTtcbiAgY29sb3I6IHZhcigtLXRoZW1lLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yLCAjZmZmKTtcbn1cblxuLl8xdWlmbUtOUER6ZHU1WURuaGd3UFFLLl8xTFBwdDcwSmppbTZTZlplMzVHMmtiIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLl8xdWlmbUtOUER6ZHU1WURuaGd3UFFLLlJrelNyR2l4TTI4Sk1hdDZJQjVMciB7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLl8xdWlmbUtOUER6ZHU1WURuaGd3UFFLLl8xS2RYZlkzUGs2dEVOWUg4MXRXcnBzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4iLCJAa2V5ZnJhbWVzIE5vT1ZyVzQ2Nkh0azZFcFoxd1lpSSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgXzNpY2JKcmUwUEo3TUZuWFFpQ1lfcTYge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNik7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjYpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uXzN6d2xuOHhwa1p3cFRZNWk2SjdiT0Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGNvbnRhaW46IHN0cmljdDtcbn1cblxuLl8zendsbjh4cGtad3BUWTVpNko3Yk9ELl8yZWw4eFdxcWYzdzRTM3gwczJEOXhsIHtcbiAgY29udGFpbjogY29udGVudDtcbn1cblxuLkVnM2ltZmJYZEk2VTZyZlJFMC1xTyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGNvbnRhaW46IGNvbnRlbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbn1cblxuLnQxODk3ZGZ0c19wcUh6U253bVdCVyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udDE4OTdkZnRzX3BxSHpTbndtV0JXLl8xLVJfSERqTzZxTm55d2NOaVM4YnlEIHtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbn1cblxuLnQxODk3ZGZ0c19wcUh6U253bVdCVy5fM21EcENqSEoyZzY2ZTB3NFIyRVprRyB7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbn1cblxuLnQxODk3ZGZ0c19wcUh6U253bVdCVy5fM3lFdEg3Y3FwVWxWRmFHaVdHMTI5dyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi50MTg5N2RmdHNfcHFIelNud21XQlcubHlpQnM2T0J4dlJFbndJUjBsczJDIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogYXV0bztcbn1cblxuLl8yT0tKdzhVZHQ5MTZJWG1UbFQ5ODZZIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgYW5pbWF0aW9uLW5hbWU6IE5vT1ZyVzQ2Nkh0azZFcFoxd1lpSTtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG59XG5cbi5fMzA5VlRxalZIcFZKSHV5QVFhX2FaaSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC42NXM7XG4gIGFuaW1hdGlvbi1uYW1lOiBfM2ljYkpyZTBQSjdNRm5YUWlDWV9xNjtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xufVxuIiwiLkNQSE5kOG9zS2pMdlFERVFVRXJ1eCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGNvbnRhaW46IGNvbnRlbnQ7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG59XG5cbi5fMWU3aEhTVm81OWU4eVFuaGM5QjZJZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLWxpc3Qtdmlldy1iYWNrZ3JvdW5kLWNvbG9yLCAjZmZmKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRoZW1lLWxpc3Qtdmlldy1ib3JkZXItY29sb3IsICNkZGQpO1xuICBjb2xvcjogdmFyKC0tdGhlbWUtbGlzdC12aWV3LWZvcmVncm91bmQtY29sb3IsICMwZTBlMGYpO1xuICBjb250YWluOiBjb250ZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogdmFyKC0tdGhlbWUtbGlzdC12aWV3LWhlYWRlci1wYWRkaW5nLCAxLjI1cmVtIDEuNXJlbSAxLjc1cmVtIDEuNXJlbSk7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uXzF3MVc4RTZfSHpmZXMzV1pUWVphSksge1xuICBjb250YWluOiBjb250ZW50O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBhZGRpbmc6IDA7XG59XG4iLCIuXzJMZ2pxQUJ3akh0cGJHemtRUWtxaVEge1xuICBjb250YWluOiBjb250ZW50O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlbWUtc2VwYXJhdG9yLWNvbG9yLCAjZGRkKTtcbn1cblxuLl8yTGdqcUFCd2pIdHBiR3prUVFrcWlROmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuIiwiLl8yYWhpOEpjbnhHSHJuWm1EMHhUOVJMIHtcbiAgY29udGFpbjogY29udGVudDtcbiAgYm94LXNoYWRvdzogdmFyKC0tdGhlbWUtbWVudS1zaGFkb3csIDAgMCAxNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE1KSk7XG4gIG1heC1oZWlnaHQ6IHZhcigtLXRoZW1lLW1lbnUtbWF4LWhlaWdodCwgNTB2aCk7XG4gIG1pbi13aWR0aDogdmFyKC0tdGhlbWUtbWVudS1taW4td2lkdGgsIDV2dyk7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbn1cblxuLl8yYWhpOEpjbnhHSHJuWm1EMHhUOVJMIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xufVxuXG4uXzJhaGk4SmNueEdIcm5abUQweFQ5UkwuXzNncEZUZDFGZHg0RUFmcTE3MFRHczcuXzFMNUFUcE05R1h5LVNPUkZyMEc2UzQge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS10aGVtZS1tZW51LW1hcmdpbiwgMXJlbSk7XG4gIGJvdHRvbTogMTAwJTtcbiAgcmlnaHQ6IDA7XG59XG5cbi5fMmFoaThKY254R0hyblptRDB4VDlSTC5fM2dwRlRkMUZkeDRFQWZxMTcwVEdzNy5DWUVKbDM5VGtFZm5LYWwzdnR2ejkge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS10aGVtZS1tZW51LW1hcmdpbiwgMXJlbSk7XG4gIGJvdHRvbTogMTAwJTtcbiAgbGVmdDogMDtcbn1cblxuLl8yYWhpOEpjbnhHSHJuWm1EMHhUOVJMLl8zenlwLU5kVEJlQkRLdmsyNnBzWnVwLl8xTDVBVHBNOUdYeS1TT1JGcjBHNlM0IHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tdGhlbWUtbWVudS1tYXJnaW4sIDFyZW0pO1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xufVxuXG4uXzJhaGk4SmNueEdIcm5abUQweFQ5UkwuXzN6eXAtTmRUQmVCREt2azI2cHNadXAuQ1lFSmwzOVRrRWZuS2FsM3Z0dno5IHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tdGhlbWUtbWVudS1tYXJnaW4sIDFyZW0pO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG59XG5cbi5fMmFoaThKY254R0hyblptRDB4VDlSTC5fMWlhYXppWnJWSV8tRThEOTlXZE5qaSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBfMmZpS2U0LVg4UHFjRzRfOXFlQjNaTyAwLjVzIGVhc2UtaW4tb3V0IGJvdGg7XG4gIGFuaW1hdGlvbjogXzJmaUtlNC1YOFBxY0c0XzlxZUIzWk8gMC41cyBlYXNlLWluLW91dCBib3RoO1xufVxuXG4uXzE5bmsxSU1OUy11X1lJUUxsbVlSdFUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1saXN0LXZpZXctYmFja2dyb3VuZC1jb2xvciwgI2ZmZik7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVtZS1saXN0LXZpZXctYm9yZGVyLWNvbG9yLCAjZGRkKTtcbiAgY29sb3I6IHZhcigtLXRoZW1lLWxpc3Qtdmlldy1mb3JlZ3JvdW5kLWNvbG9yLCAjMGUwZTBmKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IHZhcigtLXRoZW1lLWxpc3Qtdmlldy1oZWFkZXItcGFkZGluZywgMS4yNXJlbSAxLjVyZW0gMS43NXJlbSAxLjVyZW0pO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIF8yZmlLZTQtWDhQcWNHNF85cWVCM1pPIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgXzJmaUtlNC1YOFBxY0c0XzlxZUIzWk8ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cbiIsIi5fMi1TRndzcHBFdW9iQkprQXd3UXJGQyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuIiwiLl8zZ0djelJKd3JOZW5YVEJMUW5DMjlNIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtbWVudS1iYWNrZ3JvdW5kLWNvbG9yLCAjZmZmKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRoZW1lLW1lbnUtYm9yZGVyLWNvbG9yLCAjZGRkKTtcbiAgY29sb3I6IHZhcigtLXRoZW1lLW1lbnUtZm9yZWdyb3VuZC1jb2xvciwgIzBlMGUwZik7XG4gIGNvbnRhaW46IGxheW91dDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LWZhbWlseTogdmFyKC0tdGhlbWUtbWVudS1pdGVtLWZvbnQtZmFtaWx5LCBzYW5zLXNlcmlmKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXRoZW1lLW1lbnUtaXRlbS1mb250LXdlaWdodCwgNTAwKTtcbiAgbWluLWhlaWdodDogdmFyKC0tdGhlbWUtbWVudS1pdGVtLWhlaWdodCwgNDFweCk7XG4gIHBhZGRpbmc6IHZhcigtLXRoZW1lLW1lbnUtaXRlbS1wYWRkaW5nLCAwIDEuNXJlbSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5fM2dHY3pSSndyTmVuWFRCTFFuQzI5TS5fMmoxaWxVTmtiRkdTZ3VsWFNvSEFkUCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLW1lbnUtZm9yZWdyb3VuZC1jb2xvciwgIzBlMGUwZik7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1tZW51LWJhY2tncm91bmQtY29sb3IsICNmZmYpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5fM2dHY3pSSndyTmVuWFRCTFFuQzI5TTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLW1lbnUtaG92ZXItYmFja2dyb3VuZC1jb2xvciwgI2RkZCk7XG59XG5cbi5fM2dHY3pSSndyTmVuWFRCTFFuQzI5TTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbiIsIi5fMkR5MUxUZlNjR1p0U2JfNUx1ZC1sVSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLW1lbnUtYmFja2dyb3VuZC1jb2xvciwgI2ZmZik7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVtZS1tZW51LWJvcmRlci1jb2xvciwgI2RkZCk7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1tZW51LWZvcmVncm91bmQtY29sb3IsICMwZTBlMGYpO1xuICBjb250YWluOiBsYXlvdXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IHZhcigtLXRoZW1lLW1lbnUtaXRlbS1mb250LWZhbWlseSwgc2Fucy1zZXJpZik7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS10aGVtZS1tZW51LWl0ZW0tZm9udC13ZWlnaHQsIDUwMCk7XG4gIGhlaWdodDogdmFyKC0tdGhlbWUtbWVudS1pdGVtLWhlaWdodCwgNDFweCk7XG4gIHBhZGRpbmc6IHZhcigtLXRoZW1lLW1lbnUtaXRlbS1wYWRkaW5nLCAwIDEuNXJlbSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5fMkR5MUxUZlNjR1p0U2JfNUx1ZC1sVS5fMlV3czdiajN5ZWptbjFrN1hpeUtmUSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLW1lbnUtZm9yZWdyb3VuZC1jb2xvciwgIzBlMGUwZik7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1tZW51LWJhY2tncm91bmQtY29sb3IsICNmZmYpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5fMkR5MUxUZlNjR1p0U2JfNUx1ZC1sVTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLW1lbnUtaG92ZXItYmFja2dyb3VuZC1jb2xvciwgI2RkZCk7XG59XG5cbi5fMmxJN1MydDV6V2hRc3ZnX1huUTctLTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbiIsIi5fMlFncHlyRGNVUXlLWUVTQzVEWFhKciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRhaW46IHN0cmljdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcihcbiAgICAtLXRoZW1lLW92ZXJsYXktYmFja2dyb3VuZC1jb2xvcixcbiAgICByZ2JhKDI0MCwgMjQwLCAyNDAsIDAuNzUpXG4gICk7XG59XG5cbi5fMlFncHlyRGNVUXlLWUVTQzVEWFhKci5fMjhmVm1veHA2OU9Qcjg4RXcwelZlTiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uXzJRZ3B5ckRjVVF5S1lFU0M1RFhYSnIuXzJzVTM1MTVFYkZGZ2VQMXlLMlp1Ynoge1xuICBwb3NpdGlvbjogZml4ZWQ7XG59XG4iLCIuXzJ3ZnFPeldCb0FuX0s3Z29xdmpYSmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1pbnB1dC1iYWNrZ3JvdW5kLWNvbG9yLCAjZWRlZGVkKTtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb250YWluOiBzdHJpY3Q7XG4gIGZvbnQtc2l6ZTogdmFyKFxuICAgIC0tdGhlbWUtdGV4dC1pbnB1dC1mb250LXNpemUtbWVkaXVtLFxuICAgIHZhcigtLXRoZW1lLWZvbnQtc2l6ZSwgMTVweClcbiAgKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXRoZW1lLWlucHV0LWZvbnQtd2VpZ2h0LCA0MDApO1xuICBoZWlnaHQ6IHZhcigtLXRoZW1lLXRleHQtaW5wdXQtaGVpZ2h0LW1lZGl1bSwgNDFweCk7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6IDAgMWVtO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLl8yd2ZxT3pXQm9Bbl9LN2dvcXZqWEplLl8xYTRRT1ZKQjB6VzNVcmZfNWhxTmpqIHtcbiAgaGVpZ2h0OiB2YXIoLS10aGVtZS10ZXh0LWlucHV0LWhlaWdodC1zbWFsbCwgMzBweCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tdGhlbWUtdGV4dC1pbnB1dC1mb250LXNpemUtc21hbGwsIDAuNzVyZW0pO1xufVxuXG4uXzJ3ZnFPeldCb0FuX0s3Z29xdmpYSmUuXzNVSm9lOG5scHpoVlRtQzA5VFZzby0ge1xuICBoZWlnaHQ6IHZhcigtLXRoZW1lLXRleHQtaW5wdXQtaGVpZ2h0LW1lZGl1bSwgNDFweCk7XG4gIGZvbnQtc2l6ZTogdmFyKFxuICAgIC0tdGhlbWUtdGV4dC1pbnB1dC1mb250LXNpemUtbWVkaXVtLFxuICAgIHZhcigtLXRoZW1lLWZvbnQtc2l6ZSwgMTVweClcbiAgKTtcbn1cblxuLl8yd2ZxT3pXQm9Bbl9LN2dvcXZqWEplLl8zRFE1MlFkXzFLNF9WeHhWdjcyOFNYIHtcbiAgaGVpZ2h0OiB2YXIoLS10aGVtZS10ZXh0LWlucHV0LWhlaWdodC1sYXJnZSwgNTRweCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tdGhlbWUtdGV4dC1pbnB1dC1mb250LXNpemUtc21hbGwsIDEuMjVyZW0pO1xufVxuXG4uXzJ3ZnFPeldCb0FuX0s3Z29xdmpYSmU6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1pbnB1dC1iYWNrZ3JvdW5kLWNvbG9yLWZvY3VzLCAjZTNlM2UzKTtcbn1cblxuLl8zMW9BQU9FX2R2R29BejlxSm1vOEVHIHtcbiAgZm9udC1zaXplOiB2YXIoLS10aGVtZS1pbnB1dC1sYWJlbC1mb250LXNpemUsIDAuNzVyZW0pO1xuICBmb250LWZhbWlseTogdmFyKC0tdGhlbWUtaW5wdXQtbGFiZWwtZm9udC1mYW1pbHksIHNhbnMtc2VyaWYpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDJlbTtcbn1cbiIsIi5fM3NCc19FUlhWM2swU1FNR1V5MldqNCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBfMV94anRMZVVNb0VYTkEtcU9FWmhjeCAwLjVzIGVhc2UtaW4tb3V0IGJvdGg7XG4gIGFuaW1hdGlvbjogXzFfeGp0TGVVTW9FWE5BLXFPRVpoY3ggMC41cyBlYXNlLWluLW91dCBib3RoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS10b2FzdC1iYWNrZ3JvdW5kLWNvbG9yLCAjZmZmKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tdGhlbWUtdG9hc3Qtc2hhZG93LCAwIDAgMTVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNSkpO1xuICBjb250YWluOiBzdHJpY3Q7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiB2YXIoLS10aGVtZS10b2FzdC1oZWlnaHQsIDYwcHgpO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1pbi13aWR0aDogdmFyKC0tdGhlbWUtdG9hc3QtbWluLXdpZHRoLCA0MHZ3KTtcbn1cblxuLl8xMGxCRVRDVTNVTkZSOHB5MXExcS1oIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZm9udC1zaXplOiB2YXIoLS10aGVtZS10b2FzdC1mb250LXNpemUsIDAuNzVyZW0pO1xuICBwYWRkaW5nOiB2YXIoLS10aGVtZS10b2FzdC1wYWRkaW5nLCAxMHB4IDYwcHggMTBweCAyNXB4KTtcbn1cblxuLl8xMGxCRVRDVTNVTkZSOHB5MXExcS1oIGgxLFxuaDIsXG5oMyxcbmg0IHtcbiAgZm9udC1zaXplOiB2YXIoLS10aGVtZS10b2FzdC1oZWFkaW5nLWZvbnQtc2l6ZSwgMS4yNXJlbSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjM1ZW07XG4gIG1hcmdpbjogMDtcbn1cblxuLl8zQ2kwd3BPYms2b3FmN2R3a0hzRldvIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uRkVXRG5Ec1AtOUE5SkhHMjBxQlM1IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLkZFV0RuRHNQLTlBOUpIRzIwcUJTNSA+ICoge1xuICBtYXJnaW4tbGVmdDogdmFyKC0tdGhlbWUtYnV0dG9uLWdhcCwgN3B4KTtcbn1cblxuLkZFV0RuRHNQLTlBOUpIRzIwcUJTNSA+ICo6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogbm9uZTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIF8xX3hqdExlVU1vRVhOQS1xT0VaaGN4IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgXzFfeGp0TGVVTW9FWE5BLXFPRVpoY3gge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cbiIsIi5fM0Y4Y0pVMXdtS21icmppZGctTzN6cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBib3R0b206IGNhbGModmFyKC0tdGhlbWUtYnV0dG9uLWhlaWdodCwgMzBweCkgKiAxLjUpO1xuICB6LWluZGV4OiAyMDtcbn1cblxuLl8zRjhjSlUxd21LbWJyamlkZy1PM3pwID4gKiB7XG4gIG1hcmdpbjogdmFyKC0tdGhlbWUtdG9hc3QtbWFyZ2luLCA1cHgpO1xufVxuIiwiLl8yRVFCZnI1dzhoMXgxYnEtMmZwNndUIHtcbiAgY29udGFpbjogc3RyaWN0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5fMkVRQmZyNXc4aDF4MWJxLTJmcDZ3VC5fM0dSTXBtR2tfUHFJVGNVdjBOZm10MyB7XG4gIGNvbnRhaW46IGNvbnRlbnQ7XG59XG5cbi5fMnRaZlhrRWhDa3dBemZhR19CVm4wQiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uXzJ0WmZYa0VoQ2t3QXpmYUdfQlZuMEIuXzNPWUhmYnphTDNRSGFuV1pCajhSeE8ge1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLl8ydFpmWGtFaENrd0F6ZmFHX0JWbjBCLl8zSV9jN3NoY1NydEdfRnh2dlUySWVFIHtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLl8ydFpmWGtFaENrd0F6ZmFHX0JWbjBCLl8xWjdkTDl1RWQwS3N4M0Nrclpoc0I4IHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5fMnRaZlhrRWhDa3dBemZhR19CVm4wQi5fMXpickRZTzBmWUZKVmM3eHZzVFlpNiB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLl8yb3NYZDdTa3dGMExoLTJ5aXF1WVFNIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==*/
|