UNPKG

weal

Version:

Web interface for terminal

2 lines 86.9 kB
(self.webpackChunkweal=self.webpackChunkweal||[]).push([[238],{7238:(e,t,r)=>{const n=r(7294),{default:o}=r(3794),u=r(3964),{APP_NAME:a,TERMINAL_HEIGHT:s,APP_LOADER_MSG:l}=r(4224),c=r(8549),i=r(3358),f=r(2671),d=r(943),p=r(8966);e.exports=()=>{const{history:e,groupHistory:t}=c(),{groupInput:r}=i(),{theme:y}=f(),_=d();return p()?n.createElement(o,{name:a,colorMode:y,onInput:e=>{r(e),t(e)},height:s,prompt:_},e):n.createElement(u,{msg:l})}},7894:(e,t,r)=>{const n=r(7294),{TerminalInput:o}=r(3794),{_id:u}=r(7981);e.exports=({value:e})=>n.createElement(o,{key:u()},e)},9970:(e,t,r)=>{const n=r(7294),{TerminalOutput:o}=r(3794),{_id:u}=r(7981);e.exports=({value:e})=>n.createElement(o,{key:u()},e)},4009:(e,t,r)=>{const n=r(7294),{TerminalOutput:o}=r(3794),{_id:u}=r(7981),{DEFAULT_OUTPUTS_LIST:a}=r(4224);e.exports=()=>a.map((e=>n.createElement(o,{key:u()},e)))},8966:(e,t,r)=>{const n=r(7294),{fetchCmd:o}=r(4457),{HEALTH_CMD:u}=r(4224);e.exports=()=>{const[e,t]=n.useState(!1);return(async()=>{await o(u)&&t(!0)})(),e}},8549:(e,t,r)=>{const n=r(7294),o=r(4009),u=r(7894),a=r(9970),{switchTheme:s}=r(5656),{fetchCmd:l}=r(4457),{_id:c}=r(7981),{KEY_MODE:i,KEY_CLEAR:f}=r(4224),d=r(2671);e.exports=()=>{const[e,t]=n.useState([]),{setThemeOnStateAndSession:r}=d();return n.useEffect((()=>{(()=>{const r=[...e];Array.isArray(e)&&0===e.length&&(r.push(n.createElement(o,{key:c()})),t(r))})()}),[]),{history:e,groupHistory:async o=>{let d=[...e];if(d.push(n.createElement(u,{key:c(),value:o})),o.toLocaleLowerCase().trim().slice(0,4)===i){const e=s(o);r(e)}if(o.toLocaleLowerCase().trim()===f)d=[];else if(o){const e=await l(o);d.push(n.createElement(a,{key:c(),value:e}))}t(d)}}}},3358:(e,t,r)=>{const n=r(7294),o=r(7894),{_id:u}=r(7981);e.exports=()=>{const[e,t]=n.useState([]);return{inputs:e,groupInput:r=>{const a=[...e];a.push(n.createElement(o,{key:u(),value:r})),t(a)}}}},943:(e,t,r)=>{const n=r(7294),{fetchCmd:o}=r(4457),{DEFAULT_PROMPT:u,CURRENT_DIR_CMD:a}=r(4224);e.exports=()=>{const[e,t]=n.useState(u);return(async()=>{const e=await o(a);t(`$ ${e}`)})(),e}},814:e=>{const t=Object.freeze({BACKEND_HOST:"localhost",BACKEND_PORT:3221}),r=Object.freeze({BACKEND_URI:`http://${t.BACKEND_HOST}:${t.BACKEND_PORT}`});e.exports={ENV:r}},4457:(e,t,r)=>{const{BASIC_CMDS:n,CMD_MODE_LIGHT:o,CMD_MODE_DARK:u}=r(4224),{ENV:a}=r(814);e.exports={fetchCmd:async e=>{if(n.includes(e)){if(e===o)return"Light mode activated";if(e===u)return"Dark mode activated"}try{const t=await fetch(`${a.BACKEND_URI}/process/${e}`),{data:r}=await t.json();return r}catch(e){return console.error(e),"Commmand not found"}}}},7981:(e,t,r)=>{const{v4:n}=r(7429);e.exports={_id:()=>n()}},7429:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"NIL",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return f.default}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(t,"v1",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(t,"v3",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,"v4",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(t,"v5",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(t,"validate",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(t,"version",{enumerable:!0,get:function(){return l.default}});var n=d(r(3990)),o=d(r(8237)),u=d(r(5355)),a=d(r(3764)),s=d(r(6314)),l=d(r(8464)),c=d(r(6435)),i=d(r(4008)),f=d(r(8222));function d(e){return e&&e.__esModule?e:{default:e}}},4163:(e,t)=>{"use strict";function r(e){return 14+(e+64>>>9<<4)+1}function n(e,t){const r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function o(e,t,r,o,u,a){return n((s=n(n(t,e),n(o,a)))<<(l=u)|s>>>32-l,r);var s,l}function u(e,t,r,n,u,a,s){return o(t&r|~t&n,e,t,u,a,s)}function a(e,t,r,n,u,a,s){return o(t&n|r&~n,e,t,u,a,s)}function s(e,t,r,n,u,a,s){return o(t^r^n,e,t,u,a,s)}function l(e,t,r,n,u,a,s){return o(r^(t|~n),e,t,u,a,s)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(e){if("string"==typeof e){const t=unescape(encodeURIComponent(e));e=new Uint8Array(t.length);for(let r=0;r<t.length;++r)e[r]=t.charCodeAt(r)}return function(e){const t=[],r=32*e.length,n="0123456789abcdef";for(let o=0;o<r;o+=8){const r=e[o>>5]>>>o%32&255,u=parseInt(n.charAt(r>>>4&15)+n.charAt(15&r),16);t.push(u)}return t}(function(e,t){e[t>>5]|=128<<t%32,e[r(t)-1]=t;let o=1732584193,c=-271733879,i=-1732584194,f=271733878;for(let t=0;t<e.length;t+=16){const r=o,d=c,p=i,y=f;o=u(o,c,i,f,e[t],7,-680876936),f=u(f,o,c,i,e[t+1],12,-389564586),i=u(i,f,o,c,e[t+2],17,606105819),c=u(c,i,f,o,e[t+3],22,-1044525330),o=u(o,c,i,f,e[t+4],7,-176418897),f=u(f,o,c,i,e[t+5],12,1200080426),i=u(i,f,o,c,e[t+6],17,-1473231341),c=u(c,i,f,o,e[t+7],22,-45705983),o=u(o,c,i,f,e[t+8],7,1770035416),f=u(f,o,c,i,e[t+9],12,-1958414417),i=u(i,f,o,c,e[t+10],17,-42063),c=u(c,i,f,o,e[t+11],22,-1990404162),o=u(o,c,i,f,e[t+12],7,1804603682),f=u(f,o,c,i,e[t+13],12,-40341101),i=u(i,f,o,c,e[t+14],17,-1502002290),c=u(c,i,f,o,e[t+15],22,1236535329),o=a(o,c,i,f,e[t+1],5,-165796510),f=a(f,o,c,i,e[t+6],9,-1069501632),i=a(i,f,o,c,e[t+11],14,643717713),c=a(c,i,f,o,e[t],20,-373897302),o=a(o,c,i,f,e[t+5],5,-701558691),f=a(f,o,c,i,e[t+10],9,38016083),i=a(i,f,o,c,e[t+15],14,-660478335),c=a(c,i,f,o,e[t+4],20,-405537848),o=a(o,c,i,f,e[t+9],5,568446438),f=a(f,o,c,i,e[t+14],9,-1019803690),i=a(i,f,o,c,e[t+3],14,-187363961),c=a(c,i,f,o,e[t+8],20,1163531501),o=a(o,c,i,f,e[t+13],5,-1444681467),f=a(f,o,c,i,e[t+2],9,-51403784),i=a(i,f,o,c,e[t+7],14,1735328473),c=a(c,i,f,o,e[t+12],20,-1926607734),o=s(o,c,i,f,e[t+5],4,-378558),f=s(f,o,c,i,e[t+8],11,-2022574463),i=s(i,f,o,c,e[t+11],16,1839030562),c=s(c,i,f,o,e[t+14],23,-35309556),o=s(o,c,i,f,e[t+1],4,-1530992060),f=s(f,o,c,i,e[t+4],11,1272893353),i=s(i,f,o,c,e[t+7],16,-155497632),c=s(c,i,f,o,e[t+10],23,-1094730640),o=s(o,c,i,f,e[t+13],4,681279174),f=s(f,o,c,i,e[t],11,-358537222),i=s(i,f,o,c,e[t+3],16,-722521979),c=s(c,i,f,o,e[t+6],23,76029189),o=s(o,c,i,f,e[t+9],4,-640364487),f=s(f,o,c,i,e[t+12],11,-421815835),i=s(i,f,o,c,e[t+15],16,530742520),c=s(c,i,f,o,e[t+2],23,-995338651),o=l(o,c,i,f,e[t],6,-198630844),f=l(f,o,c,i,e[t+7],10,1126891415),i=l(i,f,o,c,e[t+14],15,-1416354905),c=l(c,i,f,o,e[t+5],21,-57434055),o=l(o,c,i,f,e[t+12],6,1700485571),f=l(f,o,c,i,e[t+3],10,-1894986606),i=l(i,f,o,c,e[t+10],15,-1051523),c=l(c,i,f,o,e[t+1],21,-2054922799),o=l(o,c,i,f,e[t+8],6,1873313359),f=l(f,o,c,i,e[t+15],10,-30611744),i=l(i,f,o,c,e[t+6],15,-1560198380),c=l(c,i,f,o,e[t+13],21,1309151649),o=l(o,c,i,f,e[t+4],6,-145523070),f=l(f,o,c,i,e[t+11],10,-1120210379),i=l(i,f,o,c,e[t+2],15,718787259),c=l(c,i,f,o,e[t+9],21,-343485551),o=n(o,r),c=n(c,d),i=n(i,p),f=n(f,y)}return[o,c,i,f]}(function(e){if(0===e.length)return[];const t=8*e.length,n=new Uint32Array(r(t));for(let r=0;r<t;r+=8)n[r>>5]|=(255&e[r/8])<<r%32;return n}(e),8*e.length))}},4790:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};t.default=r},6314:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default="00000000-0000-0000-0000-000000000000"},8222:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(6435))&&n.__esModule?n:{default:n};t.default=function(e){if(!(0,o.default)(e))throw TypeError("Invalid UUID");let t;const r=new Uint8Array(16);return r[0]=(t=parseInt(e.slice(0,8),16))>>>24,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=255&t,r[4]=(t=parseInt(e.slice(9,13),16))>>>8,r[5]=255&t,r[6]=(t=parseInt(e.slice(14,18),16))>>>8,r[7]=255&t,r[8]=(t=parseInt(e.slice(19,23),16))>>>8,r[9]=255&t,r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,r[11]=t/4294967296&255,r[12]=t>>>24&255,r[13]=t>>>16&255,r[14]=t>>>8&255,r[15]=255&t,r}},58:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i},3319:(e,t)=>{"use strict";let r;Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){if(!r&&(r="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!r))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return r(n)};const n=new Uint8Array(16)},3757:(e,t)=>{"use strict";function r(e,t,r,n){switch(e){case 0:return t&r^~t&n;case 1:case 3:return t^r^n;case 2:return t&r^t&n^r&n}}function n(e,t){return e<<t|e>>>32-t}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(e){const t=[1518500249,1859775393,2400959708,3395469782],o=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){const t=unescape(encodeURIComponent(e));e=[];for(let r=0;r<t.length;++r)e.push(t.charCodeAt(r))}else Array.isArray(e)||(e=Array.prototype.slice.call(e));e.push(128);const u=e.length/4+2,a=Math.ceil(u/16),s=new Array(a);for(let t=0;t<a;++t){const r=new Uint32Array(16);for(let n=0;n<16;++n)r[n]=e[64*t+4*n]<<24|e[64*t+4*n+1]<<16|e[64*t+4*n+2]<<8|e[64*t+4*n+3];s[t]=r}s[a-1][14]=8*(e.length-1)/Math.pow(2,32),s[a-1][14]=Math.floor(s[a-1][14]),s[a-1][15]=8*(e.length-1)&4294967295;for(let e=0;e<a;++e){const u=new Uint32Array(80);for(let t=0;t<16;++t)u[t]=s[e][t];for(let e=16;e<80;++e)u[e]=n(u[e-3]^u[e-8]^u[e-14]^u[e-16],1);let a=o[0],l=o[1],c=o[2],i=o[3],f=o[4];for(let e=0;e<80;++e){const o=Math.floor(e/20),s=n(a,5)+r(o,l,c,i)+f+t[o]+u[e]>>>0;f=i,i=c,c=n(l,30)>>>0,l=a,a=s}o[0]=o[0]+a>>>0,o[1]=o[1]+l>>>0,o[2]=o[2]+c>>>0,o[3]=o[3]+i>>>0,o[4]=o[4]+f>>>0}return[o[0]>>24&255,o[0]>>16&255,o[0]>>8&255,255&o[0],o[1]>>24&255,o[1]>>16&255,o[1]>>8&255,255&o[1],o[2]>>24&255,o[2]>>16&255,o[2]>>8&255,255&o[2],o[3]>>24&255,o[3]>>16&255,o[3]>>8&255,255&o[3],o[4]>>24&255,o[4]>>16&255,o[4]>>8&255,255&o[4]]}},4008:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.unsafeStringify=a;var n,o=(n=r(6435))&&n.__esModule?n:{default:n};const u=[];for(let e=0;e<256;++e)u.push((e+256).toString(16).slice(1));function a(e,t=0){return(u[e[t+0]]+u[e[t+1]]+u[e[t+2]]+u[e[t+3]]+"-"+u[e[t+4]]+u[e[t+5]]+"-"+u[e[t+6]]+u[e[t+7]]+"-"+u[e[t+8]]+u[e[t+9]]+"-"+u[e[t+10]]+u[e[t+11]]+u[e[t+12]]+u[e[t+13]]+u[e[t+14]]+u[e[t+15]]).toLowerCase()}t.default=function(e,t=0){const r=a(e,t);if(!(0,o.default)(r))throw TypeError("Stringified UUID is invalid");return r}},3990:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(3319))&&n.__esModule?n:{default:n},u=r(4008);let a,s,l=0,c=0;t.default=function(e,t,r){let n=t&&r||0;const i=t||new Array(16);let f=(e=e||{}).node||a,d=void 0!==e.clockseq?e.clockseq:s;if(null==f||null==d){const t=e.random||(e.rng||o.default)();null==f&&(f=a=[1|t[0],t[1],t[2],t[3],t[4],t[5]]),null==d&&(d=s=16383&(t[6]<<8|t[7]))}let p=void 0!==e.msecs?e.msecs:Date.now(),y=void 0!==e.nsecs?e.nsecs:c+1;const _=p-l+(y-c)/1e4;if(_<0&&void 0===e.clockseq&&(d=d+1&16383),(_<0||p>l)&&void 0===e.nsecs&&(y=0),y>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");l=p,c=y,s=d,p+=122192928e5;const v=(1e4*(268435455&p)+y)%4294967296;i[n++]=v>>>24&255,i[n++]=v>>>16&255,i[n++]=v>>>8&255,i[n++]=255&v;const h=p/4294967296*1e4&268435455;i[n++]=h>>>8&255,i[n++]=255&h,i[n++]=h>>>24&15|16,i[n++]=h>>>16&255,i[n++]=d>>>8|128,i[n++]=255&d;for(let e=0;e<6;++e)i[n+e]=f[e];return t||(0,u.unsafeStringify)(i)}},8237:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=u(r(7925)),o=u(r(4163));function u(e){return e&&e.__esModule?e:{default:e}}var a=(0,n.default)("v3",48,o.default);t.default=a},7925:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.URL=t.DNS=void 0,t.default=function(e,t,r){function n(e,n,a,s){var l;if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));const t=[];for(let r=0;r<e.length;++r)t.push(e.charCodeAt(r));return t}(e)),"string"==typeof n&&(n=(0,u.default)(n)),16!==(null===(l=n)||void 0===l?void 0:l.length))throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let c=new Uint8Array(16+e.length);if(c.set(n),c.set(e,n.length),c=r(c),c[6]=15&c[6]|t,c[8]=63&c[8]|128,a){s=s||0;for(let e=0;e<16;++e)a[s+e]=c[e];return a}return(0,o.unsafeStringify)(c)}try{n.name=e}catch(e){}return n.DNS=a,n.URL=s,n};var n,o=r(4008),u=(n=r(8222))&&n.__esModule?n:{default:n};const a="6ba7b810-9dad-11d1-80b4-00c04fd430c8";t.DNS=a;const s="6ba7b811-9dad-11d1-80b4-00c04fd430c8";t.URL=s},5355:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=a(r(4790)),o=a(r(3319)),u=r(4008);function a(e){return e&&e.__esModule?e:{default:e}}t.default=function(e,t,r){if(n.default.randomUUID&&!t&&!e)return n.default.randomUUID();const a=(e=e||{}).random||(e.rng||o.default)();if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,t){r=r||0;for(let e=0;e<16;++e)t[r+e]=a[e];return t}return(0,u.unsafeStringify)(a)}},3764:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=u(r(7925)),o=u(r(3757));function u(e){return e&&e.__esModule?e:{default:e}}var a=(0,n.default)("v5",80,o.default);t.default=a},6435:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(58))&&n.__esModule?n:{default:n};t.default=function(e){return"string"==typeof e&&o.default.test(e)}},8464:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(6435))&&n.__esModule?n:{default:n};t.default=function(e){if(!(0,o.default)(e))throw TypeError("Invalid UUID");return parseInt(e.slice(14,15),16)}}}]); //# sourceMappingURL=data:application/json;charset=utf-8;base64,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LEVBQUdiLEVBQUVxQixFQUFJLEdBQUksR0FBSSxXQUNwQ1IsRUFBSUMsRUFBTUQsRUFBR1IsRUFBR0MsRUFBR00sRUFBR1osRUFBRXFCLEVBQUksSUFBSyxFQUFHLFVBQ3BDVCxFQUFJRSxFQUFNRixFQUFHQyxFQUFHUixFQUFHQyxFQUFHTixFQUFFcUIsRUFBSSxJQUFLLElBQUssV0FDdENmLEVBQUlRLEVBQU1SLEVBQUdNLEVBQUdDLEVBQUdSLEVBQUdMLEVBQUVxQixFQUFJLEdBQUksSUFBSyxXQUNyQ2hCLEVBQUlTLEVBQU1ULEVBQUdDLEVBQUdNLEVBQUdDLEVBQUdiLEVBQUVxQixFQUFJLEdBQUksRUFBRyxXQUNuQ1IsRUFBSUMsRUFBTUQsRUFBR1IsRUFBR0MsRUFBR00sRUFBR1osRUFBRXFCLEVBQUksSUFBSyxHQUFJLFlBQ3JDVCxFQUFJRSxFQUFNRixFQUFHQyxFQUFHUixFQUFHQyxFQUFHTixFQUFFcUIsRUFBSSxHQUFJLElBQUssV0FDckNmLEVBQUlRLEVBQU1SLEVBQUdNLEVBQUdDLEVBQUdSLEVBQUdMLEVBQUVxQixFQUFJLEdBQUksR0FBSSxZQUNwQ2hCLEVBQUlTLEVBQU1ULEVBQUdDLEVBQUdNLEVBQUdDLEVBQUdiLEVBQUVxQixFQUFJLElBQUssR0FBSSxZQUNyQ1IsRUFBSUMsRUFBTUQsRUFBR1IsRUFBR0MsRUFBR00sRUFBR1osRUFBRXFCLEVBQUksR0FBSSxHQUFJLFVBQ3BDVCxFQUFJRSxFQUFNRixFQUFHQyxFQUFHUixFQUFHQyxFQUFHTixFQUFFcUIsRUFBSSxHQUFJLEdBQUksWUFDcENmLEVBQUlRLEVBQU1SLEVBQUdNLEVBQUdDLEVBQUdSLEVBQUdMLEVBQUVxQixFQUFJLElBQUssSUFBSyxZQUN0Q2hCLEVBQUlVLEVBQU1WLEVBQUdDLEVBQUdNLEVBQUdDLEVBQUdiLEVBQUVxQixFQUFJLEdBQUksR0FBSSxRQUNwQ1IsRUFBSUUsRUFBTUYsRUFBR1IsRUFBR0MsRUFBR00sRUFBR1osRUFBRXFCLEVBQUksR0FBSSxJQUFLLFlBQ3JDVCxFQUFJRyxFQUFNSCxFQUFH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LEVBQXVCQyxHQUFPLE9BQU9BLEdBQU9BLEVBQUlDLFdBQWFELEVBQU0sQ0FBRW5HLFFBQVNtRyxFQUFPLENBRzlGLElBQUk0QyxHQURPLEVBQUluRCxFQUFHNUYsU0FBUyxLQUFNLEdBQU1vTixFQUFLcE4sU0FFNUNZLEVBQUEsUUFBa0JtSSxDLDhCQ2JsQjFFLE9BQU9pQixlQUFlMUUsRUFBUyxhQUFjLENBQzNDaUIsT0FBTyxJQUVUakIsRUFBQSxhQUFrQixFQUVsQixJQUVnQ3VGLEVBRjVCa0gsR0FFNEJsSCxFQUZJLEVBQVEsTUFFU0EsRUFBSUMsV0FBYUQsRUFBTSxDQUFFbkcsUUFBU21HLEdBT3ZGdkYsRUFBQSxRQUxBLFNBQWtCdUksR0FDaEIsTUFBdUIsaUJBQVRBLEdBQXFCa0UsRUFBT3JOLFFBQVFzTixLQUFLbkUsRUFDekQsQyw4QkNYQTlFLE9BQU9pQixlQUFlMUUsRUFBUyxhQUFjLENBQzNDaUIsT0FBTyxJQUVUakIsRUFBQSxhQUFrQixFQUVsQixJQUVnQ3VGLEVBRjVCSCxHQUU0QkcsRUFGTyxFQUFRLFFBRU1BLEVBQUlDLFdBQWFELEVBQU0sQ0FBRW5HLFFBQVNtRyxHQVd2RnZGLEVBQUEsUUFUQSxTQUFpQnVJLEdBQ2YsS0FBSyxFQUFJbkQsRUFBVWhHLFNBQVNtSixHQUMxQixNQUFNQyxVQUFVLGdCQUdsQixPQUFPakIsU0FBU2dCLEVBQUt4RixNQUFNLEdBQUksSUFBSyxHQUN0QyxDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2VhbC8uL2ludGVyZmFjZXMvYXBwLmpzIiwid2VicGFjazovL3dlYWwvLi9pbnRlcmZhY2VzL2NvbXBvbmVudHMvaW5wdXQuanMiLCJ3ZWJwYWNrOi8vd2VhbC8uL2ludGVyZmFjZXMvY29tcG9uZW50cy9vdXRwdXQuanMiLCJ3ZWJwYWNrOi8vd2VhbC8uL2ludGVyZmFjZXMvY29tcG9uZW50cy9vdXRwdXRzLmpzIiwid2VicGFjazovL3dlYWwvLi9pbnRlcmZhY2VzL2hvb2tzL3VzZUhlYWx0aC5qcyIsIndlYnBhY2s6Ly93ZWFsLy4vaW50ZXJmYWNlcy9ob29rcy91c2VIaXN0b3J5LmpzIiwid2VicGFjazovL3dlYWwvLi9pbnRlcmZhY2VzL2hvb2tzL3VzZUlucHV0LmpzIiwid2VicGFjazovL3dlYWwvLi9pbnRlcmZhY2VzL2hvb2tzL3VzZVByb21wdC5qcyIsIndlYnBhY2s6Ly93ZWFsLy4vaW50ZXJmYWNlcy91dGlscy9lbnYuanMiLCJ3ZWJwYWNrOi8vd2VhbC8uL2ludGVyZmFjZXMvdXRpbHMvZmV0Y2guanMiLCJ3ZWJwYWNrOi8vd2VhbC8uL2ludGVyZmFjZXMvdXRpbHMvdXVpZC5qcyIsIndlYnBhY2s6Ly93ZWFsLy4vbm9kZV9tb2R1bGVzL3V1aWQvZGlzdC9jb21tb25qcy1icm93c2VyL2luZGV4LmpzIiwid2VicGFjazovL3dlYWwvLi9ub2RlX21vZHVsZXMvdXVpZC9kaXN0L2NvbW1vbmpzLWJyb3dzZXIvbWQ1LmpzIiwid2VicGFjazovL3dlYWwvLi9ub2RlX21vZHVsZXMvdXVpZC9kaXN0L2NvbW1vbmpzLWJyb3dzZXIvbmF0aXZlLmpzIiwid2VicGFjazovL3dlYWwvLi9ub2RlX21vZHVsZXMvdXVpZC9kaXN0L2NvbW1vbmpzLWJyb3dzZXIvbmlsLmpzIiwid2VicGFjazovL3dlYWwvLi9ub2RlX21vZHVsZXMvdXVpZC9kaXN0L2NvbW1vbmpzLWJyb3dzZXIvcGFyc2UuanMiLCJ3ZWJwYWNrOi8vd2VhbC8uL25vZGVfbW9kdWxlcy91dWlkL2Rpc3QvY29tbW9uanMtYnJvd3Nlci9yZWdleC5qcyIsIndlYnBhY2s6Ly93ZWFsLy4vbm9kZV9tb2R1bGVzL3V1aWQvZGlzdC9jb21tb25qcy1icm93c2VyL3JuZy5qcyIsIndlYnBhY2s6Ly93ZWFsLy4vbm9kZV9tb2R1bGVzL3V1aWQvZGlzdC9jb21tb25qcy1icm93c2VyL3NoYTEuanMiLCJ3ZWJwYWNrOi8vd2VhbC8uL25vZGVfbW9kdWxlcy91dWlkL2Rpc3QvY29tbW9uanMtYnJvd3Nlci9zdHJpbmdpZnkuanMiLCJ3ZWJwYWNrOi8vd2VhbC8uL25vZGVfbW9kdWxlcy91dWlkL2Rpc3QvY29tbW9uanMtYnJvd3Nlci92MS5qcyIsIndlYnBhY2s6Ly93ZWFsLy4vbm9kZV9tb2R1bGVzL3V1aWQvZGlzdC9jb21tb25qcy1icm93c2VyL3YzLmpzIiwid2VicGFjazovL3dlYWwvLi9ub2RlX21vZHVsZXMvdXVpZC9kaXN0L2NvbW1vbmpzLWJyb3dzZXIvdjM1LmpzIiwid2VicGFjazovL3dlYWwvLi9ub2RlX21vZHVsZXMvdXVpZC9kaXN0L2NvbW1vbmpzLWJyb3dzZXIvdjQuanMiLCJ3ZWJwYWNrOi8vd2VhbC8uL25vZGVfbW9kdWxlcy91dWlkL2Rpc3QvY29tbW9uanMtYnJvd3Nlci92NS5qcyIsIndlYnBhY2s6Ly93ZWFsLy4vbm9kZV9tb2R1bGVzL3V1aWQvZGlzdC9jb21tb25qcy1icm93c2VyL3ZhbGlkYXRlLmpzIiwid2VicGFjazovL3dlYWwvLi9ub2RlX21vZHVsZXMvdXVpZC9kaXN0L2NvbW1vbmpzLWJyb3dzZXIvdmVyc2lvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBSZWFjdCA9IHJlcXVpcmUoJ3JlYWN0JylcbmNvbnN0IHsgZGVmYXVsdDogVGVybWluYWxVSSB9ID0gcmVxdWlyZSgncmVhY3QtdGVybWluYWwtdWknKVxuXG5jb25zdCBMb2FkZXIgPSByZXF1aXJlKCcuL2NvbXBvbmVudHMvbG9hZGVyJylcblxuY29uc3QgeyBBUFBfTkFNRSwgVEVSTUlOQUxfSEVJR0hULCBBUFBfTE9BREVSX01TRyB9ID0gcmVxdWlyZSgnLi9jb25zdGFudHMnKVxuXG5jb25zdCB1c2VIaXN0b3J5ID0gcmVxdWlyZSgnLi9ob29rcy91c2VIaXN0b3J5JylcbmNvbnN0IHVzZUlucHV0ID0gcmVxdWlyZSgnLi9ob29rcy91c2VJbnB1dCcpXG5jb25zdCB1c2VUaGVtZSA9IHJlcXVpcmUoJy4vaG9va3MvdXNlVGhlbWUnKVxuY29uc3QgdXNlUHJvbXB0ID0gcmVxdWlyZSgnLi9ob29rcy91c2VQcm9tcHQnKVxuY29uc3QgdXNlSGVhbHRoID0gcmVxdWlyZSgnLi9ob29rcy91c2VIZWFsdGgnKVxuXG5jb25zdCBBcHAgPSAoKSA9PiB7XG4gIGNvbnN0IHsgaGlzdG9yeSwgZ3JvdXBIaXN0b3J5IH0gPSB1c2VIaXN0b3J5KClcbiAgY29uc3QgeyBncm91cElucHV0IH0gPSB1c2VJbnB1dCgpXG4gIGNvbnN0IHsgdGhlbWUgfSA9IHVzZVRoZW1lKClcbiAgY29uc3QgcHJvbXB0ID0gdXNlUHJvbXB0KClcbiAgY29uc3QgaXNSZWFkeSA9IHVzZUhlYWx0aCgpXG5cbiAgY29uc3QgaGFuZGxlSW5wdXQgPSAoaW5wdXQpID0+IHtcbiAgICBncm91cElucHV0KGlucHV0KVxuICAgIGdyb3VwSGlzdG9yeShpbnB1dClcbiAgfVxuXG4gIGlmICghaXNSZWFkeSkgcmV0dXJuIDxMb2FkZXIgbXNnPXtBUFBfTE9BREVSX01TR30gLz5cblxuICByZXR1cm4gKFxuICAgIDxUZXJtaW5hbFVJXG4gICAgICBuYW1lPXtBUFBfTkFNRX1cbiAgICAgIGNvbG9yTW9kZT17dGhlbWV9XG4gICAgICBvbklucHV0PXtoYW5kbGVJbnB1dH1cbiAgICAgIGhlaWdodD17VEVSTUlOQUxfSEVJR0hUfVxuICAgICAgcHJvbXB0PXtwcm9tcHR9XG4gICAgPlxuICAgICAge2hpc3Rvcnl9XG4gICAgPC9UZXJtaW5hbFVJPlxuICApXG59XG5cbm1vZHVsZS5leHBvcnRzID0gQXBwXG4iLCJjb25zdCBSZWFjdCA9IHJlcXVpcmUoJ3JlYWN0JylcbmNvbnN0IHsgVGVybWluYWxJbnB1dCB9ID0gcmVxdWlyZSgncmVhY3QtdGVybWluYWwtdWknKVxuXG5jb25zdCB7IF9pZCB9ID0gcmVxdWlyZSgnLi4vdXRpbHMvdXVpZCcpXG5cbmNvbnN0IElucHV0ID0gKHsgdmFsdWUgfSkgPT4ge1xuICBjb25zdCBpbnB1dCA9IDxUZXJtaW5hbElucHV0IGtleT17X2lkKCl9Pnt2YWx1ZX08L1Rlcm1pbmFsSW5wdXQ+XG5cbiAgcmV0dXJuIGlucHV0XG59XG5cbm1vZHVsZS5leHBvcnRzID0gSW5wdXRcbiIsImNvbnN0IFJlYWN0ID0gcmVxdWlyZSgncmVhY3QnKVxuY29uc3QgeyBUZXJtaW5hbE91dHB1dCB9ID0gcmVxdWlyZSgncmVhY3QtdGVybWluYWwtdWknKVxuXG5jb25zdCB7IF9pZCB9ID0gcmVxdWlyZSgnLi4vdXRpbHMvdXVpZCcpXG5cbmNvbnN0IE91dHB1dCA9ICh7IHZhbHVlIH0pID0+IHtcbiAgY29uc3Qgb3V0cHV0ID0gPFRlcm1pbmFsT3V0cHV0IGtleT17X2lkKCl9Pnt2YWx1ZX08L1Rlcm1pbmFsT3V0cHV0PlxuXG4gIHJldHVybiBvdXRwdXRcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBPdXRwdXRcbiIsImNvbnN0IFJlYWN0ID0gcmVxdWlyZSgncmVhY3QnKVxyXG5jb25zdCB7IFRlcm1pbmFsT3V0cHV0IH0gPSByZXF1aXJlKCdyZWFjdC10ZXJtaW5hbC11aScpXHJcblxyXG5jb25zdCB7IF9pZCB9ID0gcmVxdWlyZSgnLi4vdXRpbHMvdXVpZCcpXHJcblxyXG5jb25zdCB7IERFRkFVTFRfT1VUUFVUU19MSVNUIH0gPSByZXF1aXJlKCcuLi9jb25zdGFudHMnKVxyXG5cclxuY29uc3QgRGVmYXVsdE91dHB1dHMgPSAoKSA9PiB7XHJcbiAgY29uc3Qgb3V0cHV0cyA9IERFRkFVTFRfT1VUUFVUU19MSVNULm1hcCgobGlzdCkgPT4gKFxyXG4gICAgPFRlcm1pbmFsT3V0cHV0IGtleT17X2lkKCl9PntsaXN0fTwvVGVybWluYWxPdXRwdXQ+XHJcbiAgKSlcclxuXHJcbiAgcmV0dXJuIG91dHB1dHNcclxufVxyXG5cclxubW9kdWxlLmV4cG9ydHMgPSBEZWZhdWx0T3V0cHV0c1xyXG4iLCJjb25zdCBSZWFjdCA9IHJlcXVpcmUoJ3JlYWN0JylcblxuY29uc3QgeyBmZXRjaENtZCB9ID0gcmVxdWlyZSgnLi4vdXRpbHMvZmV0Y2gnKVxuXG5jb25zdCB7IEhFQUxUSF9DTUQgfSA9IHJlcXVpcmUoJy4uL2NvbnN0YW50cycpXG5cbmNvbnN0IHVzZUhlYWx0aCA9ICgpID0+IHtcbiAgY29uc3QgW2lzUmVhZHksIHNldElzUmVhZHldID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpXG5cbiAgY29uc3QgdmVyaWZ5SGVhbHRoID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHN0YXR1cyA9IGF3YWl0IGZldGNoQ21kKEhFQUxUSF9DTUQpXG4gICAgaWYgKHN0YXR1cykge1xuICAgICAgc2V0SXNSZWFkeSh0cnVlKVxuICAgIH1cbiAgfVxuXG4gIHZlcmlmeUhlYWx0aCgpXG5cbiAgcmV0dXJuIGlzUmVhZHlcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB1c2VIZWFsdGhcbiIsImNvbnN0IFJlYWN0ID0gcmVxdWlyZSgncmVhY3QnKVxuXG5jb25zdCBEZWZhdWx0T3V0cHV0cyA9IHJlcXVpcmUoJy4uL2NvbXBvbmVudHMvb3V0cHV0cycpXG5jb25zdCBJbnB1dCA9IHJlcXVpcmUoJy4uL2NvbXBvbmVudHMvaW5wdXQnKVxuY29uc3QgT3V0cHV0ID0gcmVxdWlyZSgnLi4vY29tcG9uZW50cy9vdXRwdXQnKVxuXG5jb25zdCB7IHN3aXRjaFRoZW1lIH0gPSByZXF1aXJlKCcuLi91dGlscy90aGVtZXMnKVxuXG5jb25zdCB7IGZldGNoQ21kIH0gPSByZXF1aXJlKCcuLi91dGlscy9mZXRjaCcpXG5cbmNvbnN0IHsgX2lkIH0gPSByZXF1aXJlKCcuLi91dGlscy91dWlkJylcblxuY29uc3QgeyBLRVlfTU9ERSwgS0VZX0NMRUFSIH0gPSByZXF1aXJlKCcuLi9jb25zdGFudHMnKVxuXG5jb25zdCB1c2VUaGVtZSA9IHJlcXVpcmUoJy4vdXNlVGhlbWUnKVxuXG5jb25zdCB1c2VIaXN0b3J5ID0gKCkgPT4ge1xuICBjb25zdCBbaGlzdG9yeSwgc2V0SGlzdG9yeV0gPSBSZWFjdC51c2VTdGF0ZShbXSlcbiAgY29uc3QgeyBzZXRUaGVtZU9uU3RhdGVBbmRTZXNzaW9uIH0gPSB1c2VUaGVtZSgpXG5cbiAgY29uc3QgZ3JvdXBIaXN0b3J5ID0gYXN5bmMgKGlucHV0KSA9PiB7XG4gICAgbGV0IGxpbmVzID0gWy4uLmhpc3RvcnldXG5cbiAgICBsaW5lcy5wdXNoKDxJbnB1dCBrZXk9e19pZCgpfSB2YWx1ZT17aW5wdXR9IC8+KVxuXG4gICAgaWYgKGlucHV0LnRvTG9jYWxlTG93ZXJDYXNlKCkudHJpbSgpLnNsaWNlKDAsIDQpID09PSBLRVlfTU9ERSkge1xuICAgICAgY29uc3QgdGhlbWUgPSBzd2l0Y2hUaGVtZShpbnB1dClcbiAgICAgIHNldFRoZW1lT25TdGF0ZUFuZFNlc3Npb24odGhlbWUpXG4gICAgfVxuICAgIGlmIChpbnB1dC50b0xvY2FsZUxvd2VyQ2FzZSgpLnRyaW0oKSA9PT0gS0VZX0NMRUFSKSB7XG4gICAgICBsaW5lcyA9IFtdXG4gICAgfSBlbHNlIGlmIChpbnB1dCkge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2hDbWQoaW5wdXQpXG4gICAgICBsaW5lcy5wdXNoKDxPdXRwdXQga2V5PXtfaWQoKX0gdmFsdWU9e3Jlc30gLz4pXG4gICAgfVxuXG4gICAgc2V0SGlzdG9yeShsaW5lcylcbiAgfVxuXG4gIGNvbnN0IHB1c2hEZWZhdWx0T3V0cHV0cyA9ICgpID0+IHtcbiAgICBjb25zdCBoaXN0byA9IFsuLi5oaXN0b3J5XVxuICAgIGlmIChBcnJheS5pc0FycmF5KGhpc3RvcnkpICYmIGhpc3RvcnkubGVuZ3RoID09PSAwKSB7XG4gICAgICBoaXN0by5wdXNoKDxEZWZhdWx0T3V0cHV0cyBrZXk9e19pZCgpfSAvPilcbiAgICAgIHNldEhpc3RvcnkoaGlzdG8pXG4gICAgfVxuICB9XG5cbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICBwdXNoRGVmYXVsdE91dHB1dHMoKVxuICB9LCBbXSlcblxuICByZXR1cm4geyBoaXN0b3J5LCBncm91cEhpc3RvcnkgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHVzZUhpc3RvcnlcbiIsImNvbnN0IFJlYWN0ID0gcmVxdWlyZSgncmVhY3QnKVxuXG5jb25zdCBJbnB1dCA9IHJlcXVpcmUoJy4uL2NvbXBvbmVudHMvaW5wdXQnKVxuXG5jb25zdCB7IF9pZCB9ID0gcmVxdWlyZSgnLi4vdXRpbHMvdXVpZCcpXG5cbmNvbnN0IHVzZUlucHV0ID0gKCkgPT4ge1xuICBjb25zdCBbaW5wdXRzLCBzZXRJbnB1dHNdID0gUmVhY3QudXNlU3RhdGUoW10pXG5cbiAgY29uc3QgZ3JvdXBJbnB1dCA9IChpbnB1dCkgPT4ge1xuICAgIGNvbnN0IGlwdHMgPSBbLi4uaW5wdXRzXVxuICAgIGlwdHMucHVzaCg8SW5wdXQga2V5PXtfaWQoKX0gdmFsdWU9e2lucHV0fSAvPilcbiAgICBzZXRJbnB1dHMoaXB0cylcbiAgfVxuXG4gIHJldHVybiB7IGlucHV0cywgZ3JvdXBJbnB1dCB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gdXNlSW5wdXRcbiIsImNvbnN0IFJlYWN0ID0gcmVxdWlyZSgncmVhY3QnKVxuXG5jb25zdCB7IGZldGNoQ21kIH0gPSByZXF1aXJlKCcuLi91dGlscy9mZXRjaCcpXG5cbmNvbnN0IHsgREVGQVVMVF9QUk9NUFQsIENVUlJFTlRfRElSX0NNRCB9ID0gcmVxdWlyZSgnLi4vY29uc3RhbnRzJylcblxuY29uc3QgdXNlUHJvbXB0ID0gKCkgPT4ge1xuICBjb25zdCBbcHJvbXB0LCBzZXRQcm9tcHRdID0gUmVhY3QudXNlU3RhdGUoREVGQVVMVF9QUk9NUFQpXG5cbiAgY29uc3QgZmV0Y2hQd2QgPSBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2hDbWQoQ1VSUkVOVF9ESVJfQ01EKVxuICAgIHNldFByb21wdChgJCAke3Jlc31gKVxuICB9XG5cbiAgZmV0Y2hQd2QoKVxuXG4gIHJldHVybiBwcm9tcHRcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB1c2VQcm9tcHRcbiIsImNvbnN0IFZBUiA9IE9iamVjdC5mcmVlemUoe1xuICBCQUNLRU5EX0hPU1Q6ICdsb2NhbGhvc3QnLFxuICBCQUNLRU5EX1BPUlQ6IDMyMjFcbn0pXG5cbmNvbnN0IEVOViA9IE9iamVjdC5mcmVlemUoe1xuICBCQUNLRU5EX1VSSTogYGh0dHA6Ly8ke1ZBUi5CQUNLRU5EX0hPU1R9OiR7VkFSLkJBQ0tFTkRfUE9SVH1gXG59KVxuXG5tb2R1bGUuZXhwb3J0cyA9IHsgRU5WIH1cbiIsImNvbnN0IHsgQkFTSUNfQ01EUywgQ01EX01PREVfTElHSFQsIENNRF9NT0RFX0RBUksgfSA9IHJlcXVpcmUoJy4uL2NvbnN0YW50cycpXG5cbmNvbnN0IHsgRU5WIH0gPSByZXF1aXJlKCcuL2VudicpXG5cbmNvbnN0IGZldGNoQ21kID0gYXN5bmMgKGlucHV0KSA9PiB7XG4gIGlmIChCQVNJQ19DTURTLmluY2x1ZGVzKGlucHV0KSkge1xuICAgIGlmIChpbnB1dCA9PT0gQ01EX01PREVfTElHSFQpIHtcbiAgICAgIHJldHVybiAnTGlnaHQgbW9kZSBhY3RpdmF0ZWQnXG4gICAgfSBlbHNlIGlmIChpbnB1dCA9PT0gQ01EX01PREVfREFSSykge1xuICAgICAgcmV0dXJuICdEYXJrIG1vZGUgYWN0aXZhdGVkJ1xuICAgIH1cbiAgfVxuXG4gIHRyeSB7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2goYCR7RU5WLkJBQ0tFTkRfVVJJfS9wcm9jZXNzLyR7aW5wdXR9YClcbiAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IHJlcy5qc29uKClcblxuICAgIHJldHVybiBkYXRhXG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcihlcnJvcilcblxuICAgIHJldHVybiAnQ29tbW1hbmQgbm90IGZvdW5kJ1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0geyBmZXRjaENtZCB9XG4iLCJjb25zdCB7IHY0OiB1dWlkdjQgfSA9IHJlcXVpcmUoJ3V1aWQnKVxuXG5jb25zdCBfaWQgPSAoKSA9PiB7XG4gIHJldHVybiB1dWlkdjQoKVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHsgX2lkIH1cbiIsIlwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVB